Commit graph

22,887 commits

Author SHA1 Message Date
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
Madan Koyyalamudi
c1a09ef66e Release 2.0.8.29P
Release 2.0.8.29P

Change-Id: I5e9f0525790b10ac9544ce1e1aa202047dcb7afd
CRs-Fixed: 774533
2022-05-06 05:28:30 -07:00
Rahul Gusain
29f0d9734d qcacld-3.0: Check for NAN state only if NAN SM is in host
A check is added recently to avoid creating NDI if NAN is not in
enabled state. This is to avoid wastage of resources(vdev, peers,..)
in firmware.But this check is valid only for the platforms where NAN
statemachine is in host driver. This check is not valid for legacy
platforms where NAN state machine is in firmware. Bypass the same
for legacy targets.

CRs-Fixed: 3178939
Change-Id: I1475b4313d1e7ac2c05d5edd215e929f3eb6335e
2022-05-06 14:04:54 +05:30
Madan Koyyalamudi
922ce620ae Release 2.0.8.29O
Release 2.0.8.29O

Change-Id: I8dc25bd2d15d504e01d2530cea965ad046e6c930
CRs-Fixed: 774533
2022-05-05 12:12:30 -07:00
Srinivas Dasari
6d7810c7a9 qcacld-3.0: Pick a valid channel for NDI start
Currently, NAN 5GHz social channel 44(5220) is picked to start
the BSS for NDI if 5GHz band is supported. But the channel
might get disabled due to regulatory constraints or
user/applications might also disable based on the usecase.
NDI fails to start in such cases.
Pick a valid channel to start the BSS and give preference to
NAN social channels.
Also, don't allow NDI start when NAN discovery is not enabled
to avoid issues due to DBS incase if NDI to be started in
a 2.4GHz channel.

Change-Id: I562d0f4f6a425ad7fb4cd043e696d3d573854b3b
CRs-Fixed: 3068545
2022-05-05 12:12:29 -07:00
Madan Koyyalamudi
2a7ce249b1 Release 2.0.8.29N
Release 2.0.8.29N

Change-Id: Iff2528b0301592abe15e009b2c76b0085dc50e3c
CRs-Fixed: 774533
2022-05-05 03:04:28 -07:00
Srikanth Marepalli
12fcde6918 qcacld-3.0: Use WLAN_WEAR_CHIPSET to modify INI path
On Wear HL based target with keystone kernel, it generates
WLAN driver with name "qca_cld3_wlan.ko" based on macro
definition WLAN_WEAR_CHIPSET. But the driver was not loading
because of the old INI path and /dev path.
This commit modifies the INI path and /dev path based on
macro defined i.e. WLAN_WEAR_CHIPSET.

Change-Id: I6d457a3bb708de3175c40b0f2b3ba0ebde915838
CRs-Fixed: 3168115
2022-05-05 03:04:28 -07:00
Madan Koyyalamudi
86ea5202e2 Release 2.0.8.29M
Release 2.0.8.29M

Change-Id: I40733b9d3fbf40a9c15f08f3eda9779dda8a9d70
CRs-Fixed: 774533
2022-05-04 15:25:22 -07:00
Ashish
4d3c4bced3 qcacld-3.0: Update ccfs2 in ht operation
Currently driver does not update ccfs2 correctly in ht operation
when it caches the connetion info, because of this userspace
is not able to get correct bw info for sta big data.

To address above issue, update ccfs2 corrrectly in ht operation.

Change-Id: I13dc8b674d24be7435a85b91a1ecc43e0c37900b
CRs-Fixed: 3183162
2022-05-04 15:25:21 -07:00
Mohit Khanna
40f3168fd1 qcacld-3.0: Force "IDLE" level on BW timer stop
Bus bandwidth timer tweaks certain aspects of the system during
throughput transitions. For example, when throughput goes high, system
parameters are tweaked in favor of system performance. Hence, when high
performance is not needed, the timer relies on throughput transitioning
to low to reset the parameters in favor of power.

During a corner case, its possible that while througput is high, wlan
adapter is immediately brought down. This stops the bus bandwidth timer
abruptly without letting the the timer detect a throughput transition to
low. This may result in higher power consumption even when there is no
data activity or throughput is low.

Explicilty force a transition to "IDLE" state when bus bandwidth timer
is stopped.

Change-Id: I0a0a64a855714b1a8b5a52a048604fef54a0ee41
CRs-Fixed: 3087118
2022-05-04 15:25:15 -07:00
Madan Koyyalamudi
77d79982be Release 2.0.8.29L
Release 2.0.8.29L

Change-Id: Ia4fd31810624d5e411abf59b71f0941803c0da2e
CRs-Fixed: 774533
2022-05-04 00:48:16 -07:00
Prakash Manjunathappa
dd8fef0fb1 qcacld-3.0: init/deinit tx_rx_histogram along with hdd_bus_bandwidth
hdd_txrx_hist histogram is accessed in hdd_pld_request_bus_bandwidth.
init/deinit tx_rx_histogram along with init/deinit of hdd_bus_bandwidth
Without this in FTM mode where hdd_txrx_hist memeber is accessed without
allocating memory for it. This results in uninitialized NULL dereference
assert

Change-Id: I3b8d80b71f4c37da4a0dafc4a7b91f8ca16bbab3
CRs-Fixed: 3110416
2022-05-04 00:48:14 -07:00
Madan Koyyalamudi
cc6aa888fb Release 2.0.8.29K
Release 2.0.8.29K

Change-Id: Iacc1d181bf74554fc27e907f76e8a1a8b3255d12
CRs-Fixed: 774533
2022-05-02 15:03:40 -07:00
Vulupala Shashank Reddy
fa214c471c qcacld-3.0: Send correct Nth beacon config to FW in pkt capture
Currently, when user sets pkt capture beacon capture config
using vendor command, both nth beacon interval and connect
beacon config is sent to firmware. This leads to reception
of all beacons even if nth beacon interval is configured.

Whenever nth beacon interval and connect beacon is configured
from user, firmware expects host to not send connect beacon
config to FW. This change also adds Nth beacon filter check
for beacons in packet capture management rx path.

Change-Id: I046a282c5f79598b686c4fd95554e2330c6bfb39
CRs-Fixed: 3150806
2022-05-02 15:03:39 -07:00
Madan Koyyalamudi
734ad7f108 Release 2.0.8.29J
Release 2.0.8.29J

Change-Id: I6e231211b0784856f6ee76278aaa05fec0eb4c2b
CRs-Fixed: 774533
2022-05-02 12:39:16 -07:00
Srikanth Marepalli
f80f0ae2e9 qcacld-3.0: Makefile change to generate driver name as qca_cld3_wlan
Currently, on Wear HL based target with keystone kernel, it
generates WLAN driver with name "wlan.ko". And to enable WIFI
every time it has to rename wlan.ko with qca_cld3_wlan.ko.
This commits generates the WLAN driver (WLAN_CHIPSET_wlan.ko)
based on Macro defined i.e. WLAN_CHIPSET else generate wlan.ko.

Change-Id: I9b278ba74052f1a333ed59d0b048d5a0611db076
CRs-Fixed: 3125247
2022-05-02 12:39:15 -07:00
Madan Koyyalamudi
d6109f2e0f Release 2.0.8.29I
Release 2.0.8.29I

Change-Id: Idde04865f4abbf155e49640ae74e12ac93d061e8
CRs-Fixed: 774533
2022-05-02 05:14:10 -07:00
Aravind Kishore Sukla
86066439ad qcacld-3.0: Send the correct SAE authentication failure reason code
Currently driver fills the reason code as
STATUS_UNSPECIFIED_FAILURE when sae authentication frame is
received or sent with failure status code.
So while processing SAE auth frame sent by AP, the DUT STA reports as
“Wrong password” instead of “Auth error” in the user interface.

Parse the status field for SAE Auth frames received from the
external authentication status command. This should be passed to the
userspace as part of connect failure indication

Change-Id: I9061cef6ac73a74021901dfa056551f51033de0c
CRs-Fixed: 3182981
2022-05-02 05:14:09 -07:00
Madan Koyyalamudi
461aac9d56 Release 2.0.8.29H
Release 2.0.8.29H

Change-Id: Ie6f993c752476760d7bfb71c19af7891dcbb9e1d
CRs-Fixed: 774533
2022-05-02 02:02:47 -07:00
Vulupala Shashank Reddy
8c180170ab qcacld-3.0: Check if wma pointer is NULL
In wma_is_roam_in_progress function, return false if wma pointer
returned from cds_get_context is NULL.

Change-Id: I0a3447f038a45ea93e769142cb5883a3f39c0991
CRs-Fixed: 2475071
2022-05-02 02:02:47 -07:00