Commit Graph

30004 Commits

Author SHA1 Message Date
Vinod Kumar Myadam
ea91bcc73d qcacld-3.0: Fix OOB access in MLIE parsing
In sir_convert_beacon_frame2_mlo_struct, not validating the return
status of util_get_bvmlie_persta_partner_info, even though validating
the IE data in this API but for the bad IE also storing the data.
This will cause OOB access while storing the data if the IE is malformed.

Fix to check the return value in util_get_bvmlie_persta_partner_info,
if the return value is error don't access and store the data.

Change-Id: I5605aeaafcaf9fc2de3e74d06ae64ac9f05837fe
CRs-Fixed: 3581068
2023-08-24 15:38:26 -07:00
Ashish Kumar Dhanotiya
963339298b qcacld-3.0: Remove mac0 channels from ll_lt_sap PCL for static sbs
Based on the new requirements, add logic to remove mac0 channels
from PCL for static sbs case for ll_lt_sap mode.

Change-Id: Ib50978b2959bafac27a1f0b432a08b6d3c08c2de
CRs-Fixed: 3582899
2023-08-24 15:38:17 -07:00
Aditya Kodukula
87a4b8604b qcacld-3.0: Update correct vdev_id for vdev stats
Currently, while processing ml vdev chain rssi stats, vdev_id
is not updated properly resulting in populating invalid chain
rssi values.

So, to resolve this issue, update correct vdev_id based on vdev
stats request_info structure for both MLO and Legacy connections.

Change-Id: I37d4001c2dee46396019ca662f89066f73ad4895
CRs-Fixed: 3595057
2023-08-24 15:38:10 -07:00
Rahul Choudhary
d7e0780379 Release 5.2.1.77R
Release 5.2.1.77R

Change-Id: Ib38429af49938d03995e0be2c03a4aa950c70202
CRs-Fixed: 774533
2023-08-24 01:26:08 -07:00
Surya Prakash Sivaraj
f3969f6436 qcacld-3.0: Prevent runtime suspend during disconnect
In MLO cases, system enters into runtime suspend in
between the disconnect processing of two links. This
leads to delay/timeouts in MLO disconnect processing.

To fix this, acquire runtime lock between disconnect
start and disconnect complete if_manager events.

Keep the runtime lock at vdev level to handle async
disconnects triggered by the driver and link-only
disconnects during roaming.

CRs-Fixed: 3588246
Change-Id: Ida48127d8597aecd8b6f5347c70ba5e9a2045d11
2023-08-24 01:26:07 -07:00
Rahul Choudhary
dd615c031c Release 5.2.1.77Q
Release 5.2.1.77Q

Change-Id: I3822957a67bb123be4852992c8b7f1f8cf15ffbe
CRs-Fixed: 774533
2023-08-23 10:32:45 -07:00
Meng Yuan
0624aa8b53 qcacld-3.0: Support the case to unload driver successfully
Enforce the chip to complete steps of unloading driver
instead of ASSERTION in the case of powered off.
Enforce the chip to complete pld_pcie_remove to
avoid memory leak.

Change-Id: Iaaadde91dd6329990d28659b283b1be8216a970f
CRs-Fixed: 3590444
2023-08-23 10:32:45 -07:00
Jianmin Zhu
45eb8d28c5 qcacld-3.0: Fix duplicated DPP req send to user space issue
Some frames like GAS_INITIAL_REQ are registered with SME_SESSION_ID_ANY,
With Change-Id: If6a3c65c73349f176531ba6d8cc9590374a00440, it is treated
as broadcast frames wrongly, several duplicated DPP config request frames
are sent to wpa supplicant, several config response are sent to OTA.
After received 1st config response, Peer Enrollee device moved to AP
channel to connect, so Initiator will get no ack for the rest of config
responses. DPP-CONF-FAILED will happen.

To fix it, for frames like GAS_INITIAL_REQ registered with
SME_SESSION_ID_ANY, and received without session, just sent to wlan0
once.

Change-Id: I2343186b7d2dcf734d677a91f2c7fb3101e13d6d
CRs-Fixed: 3590443
2023-08-23 10:32:39 -07:00
Rahul Choudhary
808cdf9d89 Release 5.2.1.77P
Release 5.2.1.77P

Change-Id: I6ff62ff4fd1115da5c1a29ded5a5b60bc514ce8f
CRs-Fixed: 774533
2023-08-23 02:33:11 -07:00
Nirav Shah
b04510d009 qcacld-3.0: Fix output of tsf sysfs node
Fix output of tsf sysfs node by adding space
between peer mac address and timestamp.

Change-Id: Id871ad70888d0d49218d1eb294f985386867059d
CRs-Fixed: 3587641
2023-08-23 02:33:11 -07:00
Paul Zhang
06250c2b0b qcacld-3.0: Don't overwrite force active link
For MLO TDLS function, when it sends discovery request, it sets
the corresponding link as force active mode. Since the driver
sets link_ctrl_f_overwrite_active_bitmap by default currently.
It overwites the active link which is set earlier.

To resolve this issue, add sanity check about reason
MLO_LINK_FORCE_REASON_TDLS to follow the legacy process.

Change-Id: I51eb6464ffd7754e009aa993eae859268d19671a
CRs-Fixed: 3591556
2023-08-23 02:33:04 -07:00
Rahul Choudhary
7500aae284 Release 5.2.1.77O
Release 5.2.1.77O

Change-Id: I73d6e6837021fe2fa8dbc565108b09c3b2509c36
CRs-Fixed: 774533
2023-08-22 23:31:35 -07:00
Guisen Yang
30ff7465d0 qcacld-3.0: Allow WoW mode for qca6490 without extra checks
Do not fall back to pdev suspend for qca6490 when it's configured
to wow mode.

Change-Id: Iefa0c6c725547068d3663408d4dd80e19e05811f
CRs-Fixed: 3515263
2023-08-22 23:31:34 -07:00
Mohammed Ahmed
c40621e630 qcacld-3.0: Enable the Export Symbol config by default in bazel
Enable the Export Symbol config in bazel because it is a basic
requirement for other modules to use our driver.

Change-Id: Ib5f706b5935878cfba21194ed82a95e7f2901b3a
CRs-Fixed: 3591583
2023-08-22 23:31:28 -07:00
Mohammed Ahmed
76ec3a3fcd qcacld-3.0: Additional Bazel config changes
Current code had an extra config set and a
config which didn't have its definition translation.
Fix this by removing config flag and adding definition
translation.

Change-Id: Idf4a04e1a4a3f6ba7d9553dfc6cc16a3472aed2f
CRs-Fixed: 3580352
2023-08-22 23:31:09 -07:00
Rahul Gusain
d934844b59 qcacld-3.0: Allow only 2 port concurrency in non DBS
Currently, host driver defines all concurrency with iface
combination structure and updates it by wiphy to userspace.
But non DBS target does not support the 3 port concurrencies.

So, to fix this, add the check for DBS target and for non DBS
targets filter out 2 port concurrencies from iface combinations
and update it to userspace.

Change-Id: I2bbe44f6cdfa1b49e3dbd9efe8b9bc45ddbed0ab
CRs-Fixed: 3583702
2023-08-22 23:31:02 -07:00
Jianmin Zhu
cb82c1f789 qcacld-3.0: Fix race condition of disconnect and HT IE BW update
Steps:
1. Get disconnect from wpa supplicant, send rso stop and wait for rsp
status event.
2. Scheduler thread handle HT IE BW update and do vdev start, stopped
rso_stop_timer, started vdev restart timer.
3. Received rsp status event, didn’t find rso_stop_timer, so disconnect
blocked.
4. Disconnect cmd timeout and asserted.

To fix it, cancel Beacon HT IE BW update if vdev not connected.

CRs-Fixed: 3592696
Change-Id: I191230cdacfe115ee10994960456b81bc2f4b7fb
2023-08-22 23:30:56 -07:00
Rahul Choudhary
71bd06e053 Release 5.2.1.77N
Release 5.2.1.77N

Change-Id: I4f59a1f8553d6c63ce55778a77e9feb8011474bd
CRs-Fixed: 774533
2023-08-22 19:23:11 -07:00
Ashish Kumar Dhanotiya
02a882f64a qcacld-3.0: Cleanup policy_mgr_get_mode API
API policy_mgr_get_mode is not required anymore in the host driver,
with this change remove policy_mgr_get_mode API and related code.

Change-Id: I697eb928d9f55d80022b78ce238aa218451dfa0b
CRs-Fixed: 3582902
2023-08-22 19:23:11 -07:00
Venkateswara Naralasetty
d780947743 qcacld-3.0: dump ce event history upon fw hang event receive
Dump the CE event history and hp/tp values for CE2 and CE3
when FW hang event received.

Change-Id: I79dd857878a43dedc104cbd3b10578041ce3fb1a
CRs-Fixed: 3587934
2023-08-22 19:23:05 -07:00
Vinod Kumar Pirla
bb3b184a6c qcacld-3.0: Use assoc resp in STA context for primary link
If new link id in link switch request corresponds to assoc link,
generating of assoc resp fails as lookup of primary link id in
per-STA profile results error.

For link switch to primary link id, use the existing assoc resp
and continue for assoc resp processing.

Change-Id: I3f88f9136962e88b51b235968ef2d9a0b79b35ad
CRs-Fixed: 3586092
2023-08-22 19:22:59 -07:00
Rahul Choudhary
161cf9a560 Release 5.2.1.77M
Release 5.2.1.77M

Change-Id: I808327457ac13a4ecaf0f1427a590378b673edcb
CRs-Fixed: 774533
2023-08-22 11:06:59 -07:00
Ashish Kumar Dhanotiya
2063466dc0 qcacld-3.0: Add changes to get the PCL for STA + LL_LT_SAP concurrency
Currently there is no support to get the PCL for STA + LL_LT_SAP.
With this change add support to get the PCL for STA + LL_LT_SAP
from policy manager.

Change-Id: I830eb6e783a79b832ee6646c78d556b3e9526762
CRs-Fixed: 3592302
2023-08-22 11:06:59 -07:00
Pragaspathi Thilagaraj
455e268ee3 qcacld-3.0: Skip RSO updates during link switch
When link switch is in progress, the assoc vdev mlo link flags
get toggled and the flag is reset to actual value once the link
switch is complete.

During this time, if concurrent SAP channel switch happens, then
the RSO init/start happens on link vdev. This causes invalid
sequence of state changes on assoc vdev & roam commands get
sent on link vdev.

So avoid any RSO state changes on MLO vdev when link switch is
in progress.

Change-Id: I46af3ee511e2156ce1be032852aebdb18d4c7c02
CRs-Fixed: 3588178
2023-08-22 11:06:53 -07:00
Ashish Kumar Dhanotiya
66f468f156 qcacld-3.0: Disable FILS discovery for LL_LT_SAP
Based on new requirement, disable FILS discovery for
LL_LT_SAP.

Change-Id: If136bc272ba29a39f9748b01c53e35cac79f79b1
CRs-Fixed: 3585674
2023-08-22 11:06:47 -07:00
Rahul Choudhary
e9bf6c7c81 Release 5.2.1.77L
Release 5.2.1.77L

Change-Id: I7261a6ea00f07f17606497d7b50a4bae543b6548
CRs-Fixed: 774533
2023-08-22 08:07:59 -07:00
Ashish Kumar Dhanotiya
3f3c1854d8 qcacld-3.0: Force 11n mode for ll_lt sap
Based on the new requirement, force 11n mode for ll_lt SAP.

Change-Id: I841c7af68178be94302ca259d6269dd00321bddc
CRs-Fixed: 3591464
2023-08-22 08:07:58 -07:00
Deeksha Gupta
8903d71a2b qcacld-3.0: Handle T2LM mapping validation for standby link
Currently, if AP is sending T2LM action frame with standby
link mapping then STA host is rejecting the T2LM mapping and
sending status as WLAN_T2LM_RESP_TYPE_DENIED_TID_TO_LINK_MAPPING
to AP.

Fix is, STA handles T2Lm mapping if AP sends on standby link.

Change-Id: I8492fbaff7bffb32afa142bb11767e6202137cf5
CRs-Fixed: 3589843
2023-08-22 08:07:51 -07:00
Rahul Choudhary
5a90eb3b5d Release 5.2.1.77K
Release 5.2.1.77K

Change-Id: I14f1be23cb838c1fe381ce8fc65d8bdf331cb85f
CRs-Fixed: 774533
2023-08-21 10:57:43 -07:00
Aravind Kishore Sukla
30cac76709 qcacld-3.0: Reject partner link based on security check
For multi link connection there might be the case where
rsnxe of the AP is not present on the link vdev.
This causes the link vdev alone to downgrade to 11ax
mode and assoc vdev is in 11be dot11 mode.
So for vdev with ML peer, the dot11mode is 11ax,
which causes abnormal firmware behavior.

Reject the partner link that doesn’t pass the security
check and validate the next available partner link.
if none of the partner link passes the security check,
proceed connection with single link.

Change-Id: I07239f06e2fa166cb472e1f24d66b44929d58cbf
CRs-Fixed: 3583522
2023-08-21 10:57:42 -07:00
Rahul Choudhary
d2793a1459 Release 5.2.1.77J
Release 5.2.1.77J

Change-Id: I8bdb2031720f353172a89a827f9b5cefdf9496a1
CRs-Fixed: 774533
2023-08-18 21:43:38 -07:00
Amruta Kulkarni
ccc3316187 qcacld-3.0: Do not assert when dumping state info
When memory dump config is enabled, the lim/sme state info
dump api's are invoked. These api's are also invoked after wlan
modules are stopped.
Change is to remove the assert and return if mac context is null.

Change-Id: Ie1b71bb62c490b9c79430dd997db3f09bbe6ef31
CRs-Fixed: 3579391
2023-08-18 21:43:38 -07:00
Ananya Gupta
3b7bf0f80f qcacld-3.0: Add enum for max test commands
Add enum for max test command and replace the check for
WFDS_GET_STATS cmd with WFDS_CMD_MAX.
Also, put end of struct at the end of the structure in
struct wfds_ut_cmd_req_msg_v01_ei.

Change-Id: Icc1075fb10d92fba17ffbd71a97904c6c8d866d0
CRs-Fixed: 3591854
2023-08-18 21:43:33 -07:00
Rahul Choudhary
28cc4a738c Release 5.2.1.77I
Release 5.2.1.77I

Change-Id: I6381d71b17bda48f57fbff754990e55c0869de6e
CRs-Fixed: 774533
2023-08-18 18:09:49 -07:00
Vinod Kumar Pirla
54c0b31d7c qcacld-3.0: Remove HDD wait for ops in link switch notify
VDEV is moved to INIT state as part of link switch disconnect,
before set MAC address response is received, north bound
disconnect is received which also increment pending OSIF
ops.

MLO manager is notified about this userspace disconnect to
terminate link switch and in this process, OSIF/HDD is notified
to change back deflink by waiting for OSIF ops to complete on
that adapter. Deadlock situation araises as the same thread
that initiated ops is waiting for completion.

Don't wait for ops in OSIF as part of link switch notification.

Change-Id: I53ce3da7e9cfbc1dea9422766f81c33254b357a0
CRs-Fixed: 3591342
2023-08-18 18:09:49 -07:00
Yu Ouyang
501591ed99 qcacld-3.0: Remove idle shutdown suspend delay
If wifi turn/off and suspend command come simultaneously, idle shutdown
timer will delay long time to go into suspend mode. The time is
(gInterfaceChangeWait + HDD_PSOC_IDLE_SHUTDOWN_SUSPEND_DELAY)ms.

The delay is ensuring idle shutdown can be called and completed before
suspending. Otherwise wifi chip is not in power off state even all
adapters stopped.

Change c797c6e is ensuring that we can go into idle shutdown case when
system suspend is happening and all interfaces are down.
So, we can remove the delay and restore gInterfaceChangeWait default
value to 10s. No delay and no current leakage in FW.

Change-Id: I04cc6f2dd9720105e0302874022603eeb4fccfe5
CRs-Fixed: 3513404
2023-08-18 18:09:44 -07:00
Yu Ouyang
9b8714e492 qcacld-3.0: Shutdown WLAN in suspend prepare if wow mode
Change ec797c6e shutdown WLAN in suspend prepare if shutdown_suspend mode.
For WoW_suspend mode, we need to do this too if all adapters stopped. And
do nothing if has adapter open.

Change-Id: I551354d4a906799c6279c10f05be799459110a45
CRs-Fixed: 3549654
2023-08-18 18:09:39 -07:00
Pragaspathi Thilagaraj
62e8fc78a0 qcacld-3.0: Update version for some supported feature set
Update version for vendor request 1 and vendor request 2 as
below:
vendor_req_1_version: WMI_HOST_VENDOR1_REQ1_VERSION_4_00
vendor_req_2_version: WMI_HOST_VENDOR1_REQ2_VERSION_3_50

Change-Id: Ieaa25a9c2b98f4c73cb89462463dd88ba5d11b53
CRs-Fixed: 3590251
2023-08-18 18:09:34 -07:00
Rahul Choudhary
32a6b86311 Release 5.2.1.77H
Release 5.2.1.77H

Change-Id: I17825b82c341e12789a7a45a09bab8ef31df0163
CRs-Fixed: 774533
2023-08-17 21:01:22 -07:00
Ashish Kumar Dhanotiya
fe6d7d0625 qcacld-3.0: Add support for LL_LT_SAP_MODE in policy mgr
Currently PM_LL_LT_SAP_MODE is not handled in policy manager.
With this change add support for PM_LL_LT_SAP_MODE in the policy
manager.

Change-Id: Icfbb3a95dc65225fc7dad5df7dca9306a5029402
CRs-Fixed: 3536491
2023-08-17 21:01:21 -07:00
Rahul Choudhary
84a9b935b3 Release 5.2.1.77G
Release 5.2.1.77G

Change-Id: I414d83c60edc33015fe1c5b500412dc90e4c1ad1
CRs-Fixed: 774533
2023-08-17 18:06:52 -07:00
Sheenam Monga
294d99a4f6 qcacld-3.0: Populate Measurement Report for STA STATISTICS type
Add support to populate measurement report with sta statistics
IEs. Update data based on the requested group id and update
flags in optional IE reporting_reson based on calculated data.

Change-Id: Ic9824d7e4d0ae925a00f3737d0b816923728ccc6
CRs-Fixed: 3583981
2023-08-17 18:06:52 -07:00
Rahul Choudhary
6163713354 Release 5.2.1.77F
Release 5.2.1.77F

Change-Id: Ibb0aa12dc80952add881d84a5ba171dd456805cd
CRs-Fixed: 774533
2023-08-17 12:39:17 -07:00
Sheenam Monga
7aa3e49d6d qcacld-3.0: Add support to handle RRM sta stats req
Add support to handle RRM Station statistics request (type == 7)
from AP. Based on the received group id, collect the corresponding
stats and send the RRM station statistics response to AP.

Send Report with incapable/Refused bit in below cases:
a.) Meas duration > threshold which is 10 seconds
b.) Groupid apart from 0, 1 or 10.
c.) Failure to start Timer.
d.) Response not received from FW for previous request.
e.) Another RRM STA STATS Request in progress.
f.) Another CP stats request in progress.

Change-Id: If93e9c51363daf9704a14df5822c8f7bfbd4b216
CRs-Fixed: 3583973
2023-08-17 12:39:16 -07:00
Abhinav Kumar
f89f0e2de0 qcacld-3.0: Send chan load response to AP
If a DUT accept channel load request, the STA should
response with a channel load report with channel
utilization measurement as observed by the measuring
STA.

Change-Id: Ic8faa45e24d7cd296e44828370b1b1088d46ddda
CRs-Fixed: 3580203
2023-08-17 12:39:11 -07:00
Rahul Choudhary
b89f7f0dde Release 5.2.1.77E
Release 5.2.1.77E

Change-Id: Ib267123baf5205849ce9ff169819f2767503c591
CRs-Fixed: 774533
2023-08-17 09:42:52 -07:00
Shailendra Singh
cb5e7915c5 qcacld-3.0: Change to set SAR index at init time
Changes to set SAR safety index at the driver init time.
Enhance gEnableSarSafety ini to enable timer / init
based SAR index configuration.

Change-Id: Ie50a887d566427fe4e4ff589bf3594c6b78e8c00
CRs-Fixed: 3576752
2023-08-17 09:42:51 -07:00
Jyoti Kumari
28576e40fc qcacld-3.0: Modify sap_select_channel() api
Separate sap_select_channel() into sap_sort_channel() and
sap_select_channel()

Change-Id: I1535b1e7d74fdb0c88f39bede822a7bac1acd05d
CRs-Fixed: 3561190
2023-08-17 09:42:44 -07:00
Nijun Gong
edd87d46eb qcacld-3.0: Enable wow add/del pattern sysfs commands
Enable WLAN_WOWL_ADD_PTRN and WLAN_WOWL_DEL_PTRN for rome.

Change-Id: Ief930bd387e523998cdf459bb45a2c76e3228f98
CRs-Fixed: 3590466
2023-08-17 09:42:39 -07:00
Abhinav Kumar
d9819e03a2 qcacld-3.0: Calculate rx_clear_count in case of wide band scan
In case of wide band scan, FW sends cca_busy_subband_info tlvs
via WMI_CHAN_INFO_EVENTID, which contains value of rx_clear_count
for each 20 MHz freq space.

Fix is to calculate average of rx_clear_count coming via above
tlvs and update same to cp stats component.

Change-Id: Ifec35f2ca256aabd8ef08a5ca52a53dc1c89e297
CRs-Fixed: 3580240
2023-08-17 09:42:33 -07:00