Commit Graph

22956 Commits

Author SHA1 Message Date
Srikanth Marepalli
5ee7bb99f2 qcacld-3.0: Ignore duplicated assoc req frame
When PMF enabled, SA Query will be triggered unexpectly if
duplicated assoc_req received after pre_auth node deleted
and before key installed.
Here drop such duplicated assoc_req frame.

Change-Id: I1c769892052fba5e8c7340b2f82e822add573dd4
CRs-Fixed: 2966447
2022-06-29 05:02:11 -07:00
Surya Prakash Sivaraj
3c6aa0c3f2 qcacld-3.0: Drop duplicate auth/assoc frames
Currently duplicate authentication frames are dropped if the
sequence number is same previously processed auth frame and retry
bit is set. To stop the flooding of auth frames with same sequence
number, check the previous seq number stored on the preauth node
and drop if the frame is a duplicate.

Currently, for PMF-capable peers the duplicate assoc request
frames are getting processed before the key is plumbed because
the is_key_installed flag is not reset properly before assigning
the dp hash node to a new sta. Therefore, reset the is_key_installed
flag for every new dp hash node addition.

Change-Id: Id035a5ba5ffe9b745361956d05496f9905bf2526
CRs-Fixed: 3155517
2022-06-29 05:02:05 -07:00
Madan Koyyalamudi
80e72c0e4e Release 2.0.8.30I
Release 2.0.8.30I

Change-Id: Ia97884594e1f1440c1dd39f33ef71dd11056616b
CRs-Fixed: 774533
2022-06-28 03:48:53 -07:00
Liangwei Dong
b8d7dc010c qcacld-3.0: Tune normalize_acs_weight for 6 GHz non-PSC CH
In new framework the 6 GHz preferred SAP ACS config file will
contain 5 GHz channels, to avoid 6 GHz non-PSC being set to
MAX weight value and 5 GHz channels selected easily, here set
normalize_acs_weight to 90 for non-PSC channel of 6 GHz, 40
for 2 GHz and 5 GHz channels.

Change-Id: I5e89339d0fd4e3c190dd2ead1ec87d12ff197691
CRs-Fixed: 3186587
2022-06-28 03:48:52 -07:00
Srikanth Marepalli
bb6cc73852 qcacld-3.0: Introduce a new flag to enable the low power mode
This change enables the CONFIG_ENABLE_LOW_POWER_MODE
based on the new flag added for the talos target.
This Low power config enabled the Deep Sleep / Hibernate
feature in WLAN.

Change-Id: Ied9a52d3b225957d0c3121df50bcd43d0ce7c7fc
CRs-Fixed: 3219080
2022-06-24 13:49:26 +05:30
Madan Koyyalamudi
e1cf74ee72 Release 2.0.8.30H
Release 2.0.8.30H

Change-Id: I012d140f37f3ac34418c7173400bc52d517e5182
CRs-Fixed: 774533
2022-06-22 23:25:08 -07:00
Jianmin Zhu
5862891f8c qcacld-3.0: Check FTM mode in vendor cmds handlers
Vendor commands of wiphy aren't initialized when driver load as FTM mode,
if changed to mission mode later with following cli:
echo 0 > /sys/module/wlan/parameters/con_mode,
vendor commands of wiphy keep uninitialized, wpa supplicant can't get
roam offload status by QCA_NL80211_VENDOR_SUBCMD_GET_SUPPORTED_FEATURES,
so PMK isn't sent to driver/firmware,  roam offload failed.

To fix it, remove QDF_GLOBAL_FTM_MODE check in wlan_hdd_cfg80211_init, let
vendor commands of wiphy initialized in FTM mode too when driver load.
But in each vendor cmd, check FTM mode when called, if FTM mode, return
-EPERM.
When driver is changed to mission mode, all interfaces are deleted and
re-added by driver, when interface added event is received by
wpa supplicant,  QCA_NL80211_VENDOR_SUBCMD_GET_SUPPORTED_FEATURES is
called again to get roam offload enabled status, PMK will be sent to
driver and firmware when RSO start, roam offload will work.

Change-Id: Ie0c868ebd4b7e356d72a154206b13df94f378188
CRs-Fixed: 3213221
2022-06-21 15:07:41 +08:00
Madan Koyyalamudi
c3cc73bc27 Release 2.0.8.30G
Release 2.0.8.30G

Change-Id: I56658e5ec7b496639b3d84ce2e981d185fbd2bfe
CRs-Fixed: 774533
2022-06-16 12:47:13 -07:00
Yu Tian
10de640eeb qcacld-3.0: Use skb_orphan instead of skb_unshare in TX
To use skb_orphan instead of skb_unshare, this is
aimed to prevent addition skb_alloc possible failures
in TX path, then avoid of unnecessary packet drop when
memory runs low.

Change-Id: Ic8dfdb09c73a1071678612430fff2f23180ad336
CRs-Fixed: 3162137
2022-06-16 12:47:12 -07:00
Madan Koyyalamudi
9ee68be93a Release 2.0.8.30F
Release 2.0.8.30F

Change-Id: Ia8038a15ac82447bf0df196ae581f95550c51ca3
CRs-Fixed: 774533
2022-06-16 10:15:36 -07:00
Jia Ding
1b540569b5 qcacld-3.0: Enable uplink delay feature for Vordonisi
Enable uplink delay feature for Vordonisi platform.

Change-Id: Ie38f7f1ee25bd880bfd628c0a0e11eeb3732dedf
CRs-Fixed: 3218090
2022-06-16 10:15:36 -07:00
Srinivas Dasari
3dfcb40486 qcacld-3.0: Peer may not be present if NDP confirm fails
NDP peer gets created as part of NDP indication in case of NDP
initiator. But NDP may fail to form due to various reasons and
firmware may send NDP confirm with reject status in such cases
instead of NDP indication event.
Below is the detailed scenario,
1. On initiator side, it has sent an NDP request and is waiting
   for NDP response.
2. On responder side, application/framework is preparing to send
   NDP response with reject due to some config mismatch. At the
   same time, NDP termination is also issued. So NDP termination
   frame is sent successfully.
3. Initiator firmware receives this NDP end and it sends an NDP
   confirm with REJECT to the host and it shall clean-up the
   session.

Currrently, there is a check for the peer existence while
indicating this NDP confirm status to framework. There is no need
of this check in such failure cases as peer is not yet created.

Change-Id: Ibe94a5b67df1ce3d65eaf2ef37b11b08155752c9
CRs-Fixed: 3086975
2022-06-16 10:15:30 -07:00
VIJAY RAJ
7bd1115b69 qcacld-3.0: Return success from dynamic nss chain support check for 1x1
In api hdd_update_nss(), when unit test command 'iwpriv wlan0 nss 1'
is used in 1x1 mode, the fail status is returned resulting in test
case failure.

Return a success status in api hdd_update_nss() for 1x1 mode resulting
successful execution of test case.

Change-Id: Id482c2686b48a0b6cdd41980c4eb4424da775ad0
CRs-Fixed: 3195517
2022-06-16 10:15:24 -07:00
Vinod Kumar Myadam
6ad52e5a38 qcacld-3.0: Sanity check for session_id in roam
For session_id is not have sanity check, an OOB would happen
leads to crash.

Added Sanity checks for session_id in roam functions and
return failure if session_id is equals to NULL or MAX value.

Change-Id: I033c6567f53ead2a721882e9b44f3d0bcb58084d
CRs-Fixed: 3149880
2022-06-09 09:58:46 +05:30
Madan Koyyalamudi
c0bcc19aff Release 2.0.8.30E
Release 2.0.8.30E

Change-Id: I052d211fda31a792ad06a3f74d8641c094e4eec0
CRs-Fixed: 774533
2022-06-06 05:35:16 -07:00
Srikanth Marepalli
028e3d7da0 qcacld-3.0: Send the trigger reason as part of roam scan stats
Notif_param of Roam event ID carries the trigger reason as part
of roam scan start notif. Currently host doesn't read this param.
This commit reads the trigger reason and sends it to user-space
via vendor attribute whenever the roam event vendor command is
enabled.

Change-Id: If9fdbc31df149f4f1c9ca196ee74e2fcb3709a1c
CRs-Fixed: 3161803
2022-06-02 23:53:54 -07:00
Madan Koyyalamudi
1e4bd1c400 Release 2.0.8.30D
Release 2.0.8.30D

Change-Id: Ib5f00af3a09fb8d3525e7882ae535e12c529439d
CRs-Fixed: 774533
2022-05-30 05:51:18 -07:00
Surabhi Vishnoi
ea9208e299 qcacld-3.0: Acquire wakelock during roaming if key installation is pending
Currently, wakelock is only taken during initial connection if
pairwise key installation is pending and not during roaming. This
may lead to EAPOL delay/timeout during roaming as runtime pm and
suspend is allowed during roaming. To fix this issue, acquire
wakelock if key installation is pending during roaming.

This change also refactors the code and release the wakelock in
wma_remove_peer if EAPOL fails during initial connection or roaming.

Change-Id: Id4cac30b3c383ca3d3e963571846f8a30eaa1006
CRs-Fixed: 3189799
2022-05-30 05:51:17 -07:00
Madan Koyyalamudi
4fd813b1e3 Release 2.0.8.30C
Release 2.0.8.30C

Change-Id: I58e608d916217dca059f7359b38cb91529d24b91
CRs-Fixed: 774533
2022-05-28 11:15:11 -07:00
Vijay Patil
83f49ec2d0 qcacld-3.0: Don't proceed with NDP peer handling if NDI is not UP
Firmware might send NDP peer indication/NDP responder response
while NDI deletion is in progress. Currently, NDP peer entry
gets added though vdev is moved to DOWN state and cleanup is
in progress. This leads to stale peer entry on that NDI vdev
and doesn't allow vdev delete when IFF_DOWN comes, as a peer
is present.
Check the vdev state before creating peer for NDP and skip
peer creation if NDI vdev is not in UP state(which indicates
that the vdev down is happening).
Also, don't process the NDP confirm if NDP peer is not created.

Change-Id: I73e79cc33b1a294e3f4a4a6e2f371033862c5709
CRs-Fixed: 3061756
2022-05-28 11:15:11 -07:00
Madan Koyyalamudi
7a81e44044 Release 2.0.8.30B
Release 2.0.8.30B

Change-Id: Idb8b25cb092afed38e02871220d97a6b2677783e
CRs-Fixed: 774533
2022-05-26 06:13:36 -07:00
Vulupala Shashank Reddy
772875a23c qcacld-3.0: Add check to avoid null pointer dereference
Add null check while calling wlan_psoc_get_qdf_dev to
avoid dereference of null pointer.

Change-Id: Ia3717238d6d81c805aef28337bb633a0f7e383dd
CRs-Fixed: 3203257
2022-05-26 06:13:35 -07:00
Madan Koyyalamudi
d9ba7017eb Release 2.0.8.30A
Release 2.0.8.30A

Change-Id: I86f8e01c670b7119652fca9f5ae248117317c6c3
CRs-Fixed: 774533
2022-05-26 01:15:28 -07:00
Utkarsh Bhatnagar
6a4677d533 qcacld-3.0: Update MLME Cfg num_ppe_th
With Kernel 5.13.2 onwards, if
ppe_present is present in HE capabilities
then ppe_threshold fields are also required
to be sent such as length has to be non zero
and the data can be all zeros as part of
TDLS Discovery and Setup frame.

While sending setup frames, ies are packed using
dor11f apis such as dot11f_pack_ie_he_cap().
Even if ppet_present is set,
dot11f_pack_ie_he_cap() will only send
ppe_threshold if num_ppe_th is present.
The HE capabilties which are sent in these
are filled using MLME Cfg HE capabilities.
So, calculate and set num_ppe_th using cfg
ppe fields based on the operating band.
Also to cover a corner scenario where ppe_present
is set but calculated num_ppe_th is 0, set
num_ppe_th to 1 so that atleast 1 byte should be
sent to prevent framework from throwing
exception during add_sta.

Change-Id: Ibe4fd3fdacce24573c09b3609babf04ef4423fb1
CRs-Fixed: 3183531
2022-05-26 01:15:27 -07:00
Madan Koyyalamudi
6e7c595356 Release 2.0.8.30
Release 2.0.8.30

Change-Id: Id1f4910b470c25a865c85ad72d45949ad9e5d89b
CRs-Fixed: 774533
2022-05-25 15:17:42 -07:00
Jyoti Kumari
4b643656bd qcacld-3.0: Skip STA connect on 6 GHz or 5 GHz indoor chan if SAP is up
Currently STA can scan and come up on 6 GHz or 5 GHz indoor channel
if hardware is non-dbs and SAP is present

As part of this change, do not allow STA to connect on 6 GHz and
5 GHz indoor channel for non-dbs hardware if SAP is present

Change-Id: I48ed8483225e35d8b898b0325eee398f74e41c97
CRs-Fixed: 3196247
2022-05-25 11:16:53 +05:30
Madan Koyyalamudi
abfe5f5730 Release 2.0.8.29Z
Release 2.0.8.29Z

Change-Id: I7673bca4c2cf695f1e457b5897f1d6c3d1e2d3d8
CRs-Fixed: 774533
2022-05-24 13:04:50 -07:00
Pragaspathi Thilagaraj
ccaa68da91 qcacld-3.0: Fetch the SSID offset based on frame subtype
While processing roam synch event, host driver reads the
reassoc request frame IEs after the SSID offset. SSID offset
is different for reassociation and association frames.
Currently SSID offset is populated as association frame ssid
offset only if ft_im_roaming flag is set. But FW can send
association request in roam invoke to self cases also and
host reads the ssid offset as reassoc frame offset since
ft_im_roaming flag wont be set here.
This causes association frames passed to upper layers be
truncated.

Read the assoc frame IE based on the frame subtype.

Change-Id: If927e294e9809b6640e4de23d97a7637b16db70c
CRs-Fixed: 3195902
2022-05-24 13:04:49 -07:00
Madan Koyyalamudi
5f98b7e492 Release 2.0.8.29Y
Release 2.0.8.29Y

Change-Id: Id55569c386429d6b4420ee8b4e71f54cbb7d7f6e
CRs-Fixed: 774533
2022-05-24 06:14:48 -07:00
Vulupala Shashank Reddy
ad7d2bf1dc qcacld-3.0: Fix early roam scan stop threshold values
Read early raom scan stop threshold min and max values
correctly and send correct value to FW.

Change-Id: I2e96b3c3e9fb48352d8075a4e7a96eae41dacedc
CRs-Fixed: 3191076
2022-05-24 06:14:47 -07:00
Madan Koyyalamudi
aef06d3c2b Release 2.0.8.29X
Release 2.0.8.29X

Change-Id: Ie40ab95a1fcfce7fadab8adf018400c99983e9d5
CRs-Fixed: 774533
2022-05-22 17:33:15 -07:00
Surabhi Vishnoi
e8b9f78d07 qcacld-3.0: Update auth_status and mac addr of roamed peer to dp
This change updates the auth_status and mac address of roaming
peer received in roam_sync_indication from FW to dp.

Change-Id: I27744017c87a956927108c5b3b0f9220d7e42965
CRs-Fixed: 3185110
2022-05-22 17:33:15 -07:00
Madan Koyyalamudi
585077c30e Release 2.0.8.29W
Release 2.0.8.29W

Change-Id: I5b3345ca75a0612d1068bb47f866386e6ef1e0f7
CRs-Fixed: 774533
2022-05-18 03:52:44 -07:00
Sheenam Monga
552762f7e7 qcacld-3.0: Provide correct status code in case of no ack
Currently, LIM_ACK_NOT_RCD is not handled while filling
status code due to which STATUS_UNSPECIFIED_FAILURE is
updated as part of default handling instead of
STATUS_AUTH_NO_ACK_RECEIVED. Don't overwrite previous
status code in case no ack received from peer.

Fix is to Handle LIM_ACK_NOT_RCD case while filling status
code and consider previous status code when no ack received
from peer.

Change-Id: I366d63ee3ff6abf8a36300451e7f0c46fcf47e39
CRs-Fixed: 3151992
2022-05-18 03:52:44 -07:00
Madan Koyyalamudi
cf33d73108 Release 2.0.8.29V
Release 2.0.8.29V

Change-Id: I2a51e088103a7fd9926f78cd3a2c506903435622
CRs-Fixed: 774533
2022-05-18 01:09:22 -07:00
abhinav kumar
645af8b3c7 qcacld-3.0: Move 6ghz check in band bitmap conversion API
Move the 6GHz support check so that the logic is invoked
regardless of the input band bitmap.

Change-Id: I45db2d2be8966ac073a8ede721d52bd689a98a88
CRs-Fixed: 3069557
2022-05-18 01:09:19 -07:00
abhinav kumar
0aebd5554e qcacld-3.0: Set correct roam band mask
Currently, the driver sets roam band mask to
REG_BAND_MASK_ALL(2.4G + 5G + 6G) when it receives
the value of vendor bitmap as QCA_SETBAND_AUTO(0)
regardless of whether the driver supports 6G or not.

In case if the driver does not support 6G and userspace
sends vendor bitmap as auto, the driver should convert
roam band mask to REG_BAND_MASK_2G_AND_5G(2.4G + 5G).

Change-Id: I45c2083aa18de8216ebdc8a9dbd22388d07c679a
CRs-Fixed: 3068729
2022-05-18 01:09:14 -07:00
Madan Koyyalamudi
50bca68807 Release 2.0.8.29U
Release 2.0.8.29U

Change-Id: I1b173834056dd1892457053bff61489cdbee1640
CRs-Fixed: 774533
2022-05-17 15:15:00 -07:00
abhinav kumar
4c0464d9ea qcacld-3.0: Do not set the BSS color disabled in HE op IE
If the BSS color is not set in userspace config then BSS
color disabled is set in userspace HE OP IE data. Driver
fills the random BSS color value if the BSS color is not
set in userspace HE OP IE data hence the BSS color disabled
bit should be set to 0. So do not set the BSS color disabled
bit from user space HE OP IE data.

Change-Id: I781206c67671752275b810e34a63fb76fe6c4f73
CRs-Fixed: 3068944
2022-05-17 21:38:27 +05:30
Madan Koyyalamudi
6935590e20 Release 2.0.8.29T
Release 2.0.8.29T

Change-Id: I0de7d0ae801e217c3fc43d274fef7e841e7f966a
CRs-Fixed: 774533
2022-05-17 05:45:02 -07:00
Amit Mehta
94962f3d04 qcacld-3.0: Add NULL check for tx_rx_hist
Currently, we are updating tx_rx_hist without performing a NULL check.
There can be the case where the tx_rx_hist is freed and we are trying to
de-reference the tx_rx_hist, which will cause the NULL pointer dereference
issue.

Fix is to add NULL check for tx_rx_hist before dereferencing it.

Change-Id: I0c298f1c86dd86b6ac987c005ed19b20933ffba8
CRs-Fixed: 3196312
2022-05-16 14:19:55 +05:30
Madan Koyyalamudi
110644cec7 Release 2.0.8.29S
Release 2.0.8.29S

Change-Id: I93b14abcd2a2b8bce3e754cc7bf082da82b142d2
CRs-Fixed: 774533
2022-05-13 17:01:03 -07:00
Aravind Kishore Sukla
557d1042fa qcacld-3.0: Replace kmsg logs to debug logs
Change kernel log level to debug level

Change-Id: I1efa9a0498acd81f2a9a12d5712299609eb5bd06
CRs-Fixed: 3182121
2022-05-13 17:01:02 -07:00
Madan Koyyalamudi
75a616e429 Release 2.0.8.29R
Release 2.0.8.29R

Change-Id: I4a4fa50412adb73e8d0a0b68672b1c99242ad66d
CRs-Fixed: 774533
2022-05-13 12:04:45 -07:00
Gururaj Pandurangi
8574cbad00 qcacld-3.0: Reduce logging level in pmf cap API
Reduce logging level to debug in get peer pmf
capability API to avoid excessive logging.

Change-Id: Ia8f339f880429d478f68300eb6ace3b1a8c87ea2
CRs-Fixed: 3073012
2022-05-13 12:04:44 -07:00
Gururaj Pandurangi
90fe84b4f9 qcacld-3.0: Update caller APIs of get power type for 6G API
Update the caller functions of wlan_reg_get_6g_power_type_for_ctry
to include AP's power type as a factor along with existing ctry
codes to determine STA's power type for 6G.

Change-Id: I8e1c54a5e760b173532fc001790fb76c70120c54
CRs-Fixed: 3087093
2022-05-13 12:04:39 -07:00
Gururaj Pandurangi
cf85121cc9 qcacld-3.0: Add psoc ptr arg in get 6G power type for ctry API
Pass psoc ptr as argument in addition to existing args in
wlan_reg_get_6g_power_type_for_ctry API to support new APIs
like wlan_cm_get_check_6ghz_security that are invoked within.

Change-Id: I9615c5d2cb509a0c9f8e10073c0928ab38f179f8
CRs-Fixed: 3080203
2022-05-13 12:04:34 -07:00
Vinod Kumar Pirla
5f5fb691fa qcacld-3.0: Reduce log level of certain error logs
Reduce log level of a few error logs to reduce
excessive logging.

Change-Id: I3e93d033bc29a7dfee5c5ef18d52cded54fc1cbb
CRs-Fixed: 3035970
2022-05-13 16:03:55 +05:30
Madan Koyyalamudi
c240bb046b Release 2.0.8.29Q
Release 2.0.8.29Q

Change-Id: I98f71a720017a8cb593c23ea250539fba25cf4fe
CRs-Fixed: 774533
2022-05-10 17:42:00 -07:00
Srinivas Dasari
d8a5c68039 qcacld-3.0: Fix ref leak for temp sta info node
hdd_is_connection_in_progress_iterator loops through all adapters
and the sta_info present in each adapter to find out
if any connection is in progress. In SAP case, there could be
multiple sta_info present and need to traverse through them by
avoiding running into loop on the same sta_info/released
sta_info. The hdd_for_each_sta_ref_safe helps for the same but
takes two references, one for sta_info and one for a
temporary entry. Release both after checking the
connection status.

Change-Id: I58a49e12b6d581dbaf1c129ce5a5196b31fb432f
CRs-Fixed: 3188412
2022-05-10 09:12:36 -07:00