Commit Graph

30091 Commits

Author SHA1 Message Date
Abhinav Kumar
89fc60da82 qcacld-3.0: Process rrm request with link address
Currently host start processing rrm request frame with
source mac address (pHdr->sa) present in frame. But in
case of MLO connection, pHdr->sa address is referred to
MLD address and if host sends response frame with MLD
address to FW, FW discard/drop it.

Fix is to make sure driver should use link address
(pe_session->bssId) to process rrm request
and use same address to send response frame to FW/AP.

Change-Id: Ibffcaf6ca1341f3e22c9cba09f09c99cdc4fd5cd
CRs-Fixed: 3598628
2023-09-04 14:26:42 -07:00
Yu Ouyang
38abf037a1 qcacld-3.0: Increase time to wait adapter stopped
Every adapter takes ~300ms to stop. For 4 adapters, totally 500ms is
not enough. To ensure all adapters stopped, increase sleep time to
1.5s.

Change-Id: I56ecb99519bf7834dd5e00986d847643612936c9
CRs-Fixed: 3604933
2023-09-04 14:26:37 -07:00
Rahul Choudhary
384c20b5fa Release 5.2.1.78O
Release 5.2.1.78O

Change-Id: Id2027e4c26ece0a73244a9bb67de4d77a6e67308
CRs-Fixed: 774533
2023-09-04 06:21:01 -07:00
Zhiwei Yang
638ce57640 qcacld-3.0: Fix respond probe request on wrong channel issue
STA+GO concurrency and MCC mode case, DUT received lots of probe
request in short time on STA role channel, and host always send back
probe rsponse on GO channel, this caused FW TX failed due to current
channel is for STA, then FW has no chance to handle msg buffer in
time, buffer exhausted and crash.

To fix this, the probe request from STA role channel should be
ignored, and just respond the request from AP role channel.

Change-Id: I74a569c156b0ad7a14a32f7e0f0bfd58379e9f35
CRs-Fixed: 3564384
2023-09-04 06:21:01 -07:00
Prasanna JS
ccf0a366e3 qcacld-3.0: Enable CONFIG_BCN_RATECODE_ENABLE for bazel
Enable CONFIG_BCN_RATECODE_ENABLE for bazel

Change-Id: I8a2fffbf792ed31b783eef4b96b78cadc172cfeb
CRs-Fixed: 3602345
2023-09-04 06:20:55 -07:00
Abhishek Singh
4f1ae8538d qcacld-3.0: Fix cb mode calculation for 2.4 GHz
If user configure to not use 40 MHz in 2.4 GHz, then avoid setting
40 MHz capability and use cb mode as
WNI_CFG_CHANNEL_BONDING_MODE_DISABLE for 2.4 GHz.

Change-Id: I4e9153e211e02f6b959e16dad4573c2b490cb215
CRs-Fixed: 3584510
2023-09-04 06:20:49 -07:00
Rahul Choudhary
4b86e41f32 Release 5.2.1.78N
Release 5.2.1.78N

Change-Id: I5ea251e1d2e55b838f6c4595df542023e5fb2f02
CRs-Fixed: 774533
2023-09-03 22:32:55 -07:00
Srinivas Dasari
26a2f2e4ce qcacld-3.0: cache SAP current oper bw in vdev mlme priv obj
SAP operating bandwidth may get updated due to concurrencies.
This might be temporary and SAP moves back to its original
bandwidth once concurrency is gone. So, add set and get APIs
to maintain the SAP current operating bandwidth.
These can be used during/after bandwidth update operations.

Change-Id: I386ad20bcbd0902672a890bde510ecc50e58512b
CRs-Fixed: 3600223
2023-09-03 22:32:54 -07:00
Rahul Choudhary
3eaf9ecf08 Release 5.2.1.78M
Release 5.2.1.78M

Change-Id: Ieb919fa2a7c84bcb9fec9abbb545f10d05122939
CRs-Fixed: 774533
2023-09-03 10:41:27 -07:00
Jianmin Zhu
4c956d73ba qcacld-3.0: Don't set country to target after idle shutdown
Currently, kernel invoke the regdomain notifier to host driver using
registered callback, if kernel call this callback after idle shutdown,
will send CURRENT_COUNTRY to F/W after WOW ENABLE cmd.

To fix it, add driver status check when handle regdomain notifier.

Change-Id: I718f46b9cb02bd885ecc19684a6af9a26bd9410f
CRs-Fixed: 3602098
2023-09-03 10:41:26 -07:00
Rahul Choudhary
37d1c3742d Release 5.2.1.78L
Release 5.2.1.78L

Change-Id: I16588061de8ea17534eb5236c75465e3eeaf151b
CRs-Fixed: 774533
2023-09-02 21:23:15 -07:00
Srinivas Dasari
72b3998eeb qcacld-3.0: Add BW_IND_ELEM IE to ECSA and beacon structures
BW_IND_ELEM is needed to indicate updated bandwidth to peers
through ECSA frame/along with CSA IE in beacon. Add the IE
in ECSA frame structure and beacon structures.
Generate corresponding APIs with the help of frame parser.

Change-Id: Ia38d40050f945136bd01313bd3e17011b256afad
CRs-Fixed: 3604384
2023-09-02 21:23:14 -07:00
Aditya Kodukula
f59d692b84 qcacld-3.0: Add support for n-link mlo peer stats
Add support for n-link mlo link layer peer stats.

Change-Id: I9f860c744377b0c6375bf06210999b69156e626c
CRs-Fixed: 3600475
2023-09-02 21:23:09 -07:00
Aditya Kodukula
bf9795bdea qcacld-3.0: Refactor mlo ll interface stats code
Refactor current mlo link layer interface stats code.

Change-Id: I94326ae8fc8abaa2f1abd6d0e0e5ac9a9750433b
CRs-Fixed: 3602068
2023-09-02 21:23:03 -07:00
Srinivas Dasari
825a7d1dd9 qcacld-3.0: Add an API to check if a new connection causes DBS/SBS
Add an API to loop through all existing connections and check if
the new connection frequency causes DBS/SBS.

Change-Id: Ib7929fc969cd04a26e082f6f9a3acf991befcc5d
CRs-Fixed: 3600235
2023-09-02 21:22:57 -07:00
Rahul Choudhary
1d6c4f420f Release 5.2.1.78K
Release 5.2.1.78K

Change-Id: Ic59aab8ad9ebb5538bdbfb69e58fa12fc92a075e
CRs-Fixed: 774533
2023-09-01 21:01:00 -07:00
Liangwei Dong
84250fda26 qcacld-3.0: Disable force SCC check for link switch disconnection
If disconnection event is for link switch, do not trigger SAP
force SCC check. And if link switch is in progress, skip
the force SCC workqueue.
And if link is in middle of switching, do not run link force logic.

Change-Id: I4a8bf59ff16dca2caf560eb36e1bc58f7d6a919b
CRs-Fixed: 3590814
2023-09-01 21:01:00 -07:00
Rahul Choudhary
f636e38043 Release 5.2.1.78J
Release 5.2.1.78J

Change-Id: Iceb84c1b1b5e939ef193b89139e823dfc0d6edfd
CRs-Fixed: 774533
2023-08-31 18:35:29 -07:00
Amit Mehta
663120a0f7 qcacld-3.0: Replace rcu lock with rtnl lock
Currently mutex is being called while taking rcu read lock
which is resulting in "sleeping function called from invalid context"
warning as mutex is not allowed while holding rcu_read_lock.

To fix the issue replace rcu lock with rtnl lock.

CRs-Fixed: 3600635
Change-Id: I41aa27094ef58363eeda4bdb15f23d312e7bac37
2023-08-31 18:35:28 -07:00
Deeksha Gupta
4a8fcb43d0 qcacld-3.0: Hold mutex lock while channel switch notify
From the kernel, it is expected to hold the mutex lock while
channel switch notify. Currently it is not done hence kernel
is asserting while channel switch notify.

To avoid kernel assert, hold mutex lock before driver
invokes channel switch notify.

CRs-Fixed: 3598047
Change-Id: I8838aa07bc12c317c494ad7e17116d090582944a
2023-08-31 18:35:22 -07:00
Vinod Kumar Myadam
cbeedb2c6b qcacld-3.0: Cleanup unused declaration of hdd_get_num_chains
Cleanup unused function declaration of hdd_get_num_chains

Change-Id: I32b2a0d58f3c7da1d7f496998964dd0120017b3a
CRs-Fixed: 3601235
2023-08-31 18:35:16 -07:00
Rahul Choudhary
999e1f45d6 Release 5.2.1.78I
Release 5.2.1.78I

Change-Id: I88ee5f71c57439ac089f9f9370f629c55c42d8cf
CRs-Fixed: 774533
2023-08-31 11:00:21 -07:00
Abhinav Kumar
663120a684 qcacld-3.0: Send proper control mode value to upper layer
1. Upper layer sends QCA_WLAN_VENDOR_ATTR_LINK_STATE_CONTROL_MODE
vendor command to configure control mode in host/fw.
2. Host receives GET_ML_LINK_STATE driver command to return
control mode (configured at step 1) to upper layer.

Host should reply as a response of GET_ML_LINK_STATE with same
value of control mode configured at step 1 to upper layer.

Change-Id: I6ae82c2a1c0e4ff13cea678bf27916a3cda8ad81
CRs-Fixed: 3595730
2023-08-31 11:00:21 -07:00
Amruta Kulkarni
dd4b6d0ea6 qcacld-3.0: Add null check for mlo sta context
Currently mlo sta context is accessed without null
check in mlo api's.

Add null check for mlo sta context in mlo_check_if_all_links_up
and mlo_check_if_all_vdev_up api's.

CRs-Fixed: 3601823
Change-Id: Iea3f1daf1d9aef40efdff21a02e8a3c23494bfad
2023-08-31 11:00:14 -07:00
Amruta Kulkarni
fc51b6ff4f qcacld-3.0: T2LM timer changes
Code changes to run the T2LM timer in FW instead of host.

Change-Id: Ic66da9e0311121d2ae23c600c97f225c56aa215f
CRs-Fixed: 3595388
2023-08-31 11:00:07 -07:00
Liangwei Dong
0084ccba11 qcacld-3.0: Fix SAP not move back to 6 GHz after STA disconnected
The API wlansap_get_valid_freq was used to get new SAP channel
when country code changed from world mode to non world mode.
In STA+SAP concurrency case, SAP may be force SCC to STA channel
or the other band's channel. And If STA is disconnected, normally
the SAP should move back to original channel frequency on 5 GHz or
6 GHz. But in current code the API wlansap_get_valid_freq will
still be invoked to get new SAP channel based on PCL after STA
is disconnected. It is not expected.

Fix by add new master_ch_list_updated flag to indicate
the master channel list has been changed from 2.4 GHz only to
2.4 GHz + 5/6 GHz and based on the flag to invoke
wlansap_get_valid_freq to get new SAP channel.
The move back to original channel has been handled by
policy_mgr_is_sap_restart_required_after_sta_disconnect.

Change-Id: I33b7a4cda3b45221b45e2aec85069477d0999d4e
CRs-Fixed: 3596546
2023-08-31 11:00:01 -07:00
David Oladunjoye
71fb47d8ca qcacld-3.0: Add support for aux eMLSR HW modes in policy mgr
Currently, if FW advertises more than three HW modes, host
returns error as the current max is 3. Need to increase value
to 4 to support aux eMLSR single and aux eMLSR split modes.
In addition, add path to handle aux caps when advertised from FW.

Change-Id: I4ee873951952c5b1abd31e9e28084d32eda782bd
CRs-Fixed: 3599089
2023-08-31 10:59:53 -07:00
Vinod Kumar Pirla
46d3fc5376 qcacld-3.0: Don't stop netdev queues on link switch failure
If link switch connection fails due to any reason the netdev
queues are stopped which leads to NUD failure and finally results
in connection teardown.

As we have one non-transitioning link for data transmission
in case of link switch, don't disable the netdev queues.

CRs-Fixed: 3599028
Change-Id: I4555ca3705950ce874b90f8a6e8cc5a50ea92793
2023-08-31 10:59:47 -07:00
Rahul Gusain
237202b610 qcacld-3.0: Handle error condition when NDI start fail
Older versions of kernel (<5.12) support the interface creation
through vendor command. But newer versions of kernel (>5.12) expect
the NDI interface creation to happen in two phases due to RTNL lock
removal for the vendor commands.
1. Create an interface through add_virtual_intf in STA mode
2. Change the mode to NDI through vendor command.
Currently, if NDI start fails due to some reason (like vdev creation
unsuccessful), then driver tries to close the adapter for newer kernel
version (>=5.12) as well which causes crash in driver.
For kernel version (>=5.12), userspace handles the interface deletion,
so, close the adapter only when userspace provides the interface delete
cmd.

So, to fix this for the new kernel version, do not close the adapter

Change-Id: Ia11405823cf264eb3f2d81f67571c9e6e2fbff69
CRs-Fixed: 3601352
2023-08-31 10:59:40 -07:00
Will Huang
3375882129 qcacld-3.0: Check if need restart SAP when CAC END
Currently if CAC in progress, it prevent SAP restart happen, if there
is some event like set band command come during CAC wait time, it is
not possible to restart SAP even after CAC END.

Change I54663bdd887e3d591d7fd9ee7ce76572b1ef21f7 moved
check_concurrent_intf to SAP interface manager, which will not invoke
when CAC END, so add policy_mgr_check_concurrent_intf_and_restart_sap
in sap_cac_end_notify().

Change-Id: Ida370804d0c7145b750c9dad5c169b74f9c37cd6
CRs-Fixed: 3586509
2023-08-31 10:59:32 -07:00
Rahul Choudhary
423c586035 Release 5.2.1.78H
Release 5.2.1.78H

Change-Id: Ide00e228443f9febfa7b6163dd4099dea0fb3370
CRs-Fixed: 774533
2023-08-31 00:12:52 -07:00
Aditya Kodukula
298ec81f3e qcacld-3.0: Report default RSSI value for standby mlo link
When vdev station stats are requested on mlo standby link,
report default values for RSSI and Chain Signal RSSI.

Change-Id: I596471d5c51ae5c1ca8e5d7afb72fafce7039176
CRs-Fixed: 3601662
2023-08-31 00:12:52 -07:00
Rahul Choudhary
c71fd53101 Release 5.2.1.78G
Release 5.2.1.78G

Change-Id: I49d370fba52c907645c1f94c2b8cedae3f9dce11
CRs-Fixed: 774533
2023-08-30 16:44:02 -07:00
Prasanna JS
8f12b73f1d qcacld-3.0: Update beacon Tx rate configuration implementation
Update beacon Tx rate configuration implementation
for lithium onwards targets

Change-Id: I864b7eedb36b8f4a4804baf42f2b4c762d6868dc
CRs-Fixed: 3593181
2023-08-30 16:44:02 -07:00
Prasanna JS
0ed9d7c8cc qcacld-3.0: Move assemble rate code functionality to mlme
Move assemble rate code functionality to mlme

Change-Id: I8acb04f2e09be742f95d38a4688e07c1d011f4e8
CRs-Fixed: 3593174
2023-08-30 16:43:56 -07:00
Rahul Choudhary
243154943a Release 5.2.1.78F
Release 5.2.1.78F

Change-Id: Ia66d655030a07878dd1476cf9158b33450f022a1
CRs-Fixed: 774533
2023-08-30 04:52:50 -07:00
Srinivas Dasari
1d339cfba1 qcacld-3.0: Send NO_FORCE cmd for eMLSR STA upon NAN DISABLE
Currently, host disables eMLSR by sending INACTIVE_NUM cmd to
firmware when eMLSR is active. Host sends FORCE_ACTIVE cmd with
both the links to re-enable eMLSR when eMLSR enable vendor command
is received from userspace.
But recent changes in MLO link management and policy mgr expect
a NO_FORCE when a legacy connection(e.g. NAN here) is gone.

Send NO_FORCE upon NAN disable inorder to adhere to the
new link management changes.

Change-Id: I6ff2c9f102c21b437a18310b9406ae3c990d3d17
CRs-Fixed: 3591684
2023-08-30 04:52:50 -07:00
Rahul Choudhary
2ecf25eecb Release 5.2.1.78E
Release 5.2.1.78E

Change-Id: I1e3c48b24c17255cb35d27b9833e5b399197a523
CRs-Fixed: 774533
2023-08-30 01:37:29 -07:00
Gururaj Pandurangi
ad0d63a599 qcacld-3.0: Change TPE IE parsing logic for Client mode
Currently, if the AP advertises both Local and Regulatory
TPE IEs in the beacons, STA uses an INI to choose one over
the other. Vendor ask is to change this logic and allow STA
to use the minimum of the two TPE power limits. Also,
deprecate the INI that sets the preference between local
and regulatory TPE IEs.

CRs-Fixed: 3574510
Change-Id: Ibf19020d59621efa72cf290ef34c825fdb50e3e7
2023-08-30 01:37:29 -07:00
Pragaspathi Thilagaraj
6da3613393 qcacld-3.0: Update self mac address from roam sync indication
After roaming to 3 link AP, update the MLO manager with the
self link address received from the roam synch indication.

Change-Id: I6258abe7bb9e140307c30fee8701ef12a618d9f1
CRs-Fixed: 3591487
2023-08-30 01:37:23 -07:00
Rahul Choudhary
f0b0a1ae9c Release 5.2.1.78D
Release 5.2.1.78D

Change-Id: Ib3a1e115556f4403d0f21315cadba2ba0fe5b94b
CRs-Fixed: 774533
2023-08-29 15:04:22 -07:00
Chunquan Luo
c9181a28c4 qcacld-3.0: Get max bandwidth
Support wpa_cli driver GET_MAX_BW with link_id and bandwidth.
Support get all MLO 2links link id and bandwidth.

Change-Id: I304b581fa06db23281422cafeecd0f6a868eee14
CRs-Fixed: 3544825
2023-08-29 15:04:22 -07:00
Ashish Kumar Dhanotiya
16fc1d7e1c qcacld-3.0: Update roam count correctly in connection info
Currently host driver is using roam_sync state to update the
roam count in connection info structure. Connection manager
clears this roam sync state before it host invokes the save
bss info API where it actually updates the roam count in
connection info structure, this leads to the incorrect information
update in connection info structure.

To address the above issue, use the is_reassoc state from connect
response structure in save bss info API.

Change-Id: I0d35f04b7e2492fe96a23edefc0caf002acb6537
CRs-Fixed: 3591711
2023-08-29 15:04:16 -07:00
Jianmin Zhu
deeac31fbb qcacld-3.0: Fix he case failed
lim_check_oui_and_update_session call location is changed by
Change-Id: Ib99072c36b72859cb1f8a4336f8aa7f696cb7d02.
session->nss is initialized in lim_check_oui_and_update_session,
it should be called before lim_extract_ap_capability->
lim_check_is_he_mcs_valid, or he capable of session is disabled,
he cases will fail.

To fix it, lim_check_oui_and_update_session call location is changed back
to follow lim_join_req_update_ht_vht_caps.

Add new function lim_disable_bformee_for_iot to handle IoT issue,
since it need get channel width of session, let it be called after
lim_extract_ap_capability.

Change-Id: Ice1d86b3f6711a116b94cd139aae87f249c554d4
CRs-Fixed: 3600303
2023-08-29 15:04:10 -07:00
Aditya Kodukula
d270d9ebc3 qcacld-3.0: Add sanity check to validate vdev_id
Add a sanity check for validating vdev_id in the function
sme_set_wlm_latency_level. If Invalid vdev_id is passed down
it might lead to an assert in firmware.

Change-Id: Ie410d2655a607628b0741c9efd1fbfaa00c5dc78
CRs-Fixed: 3599133
2023-08-29 15:04:04 -07:00
Sheenam Monga
3acf6ee2f4 qcacld-3.0: Update TSPEC handler internally in host
Currently, CONFIG_TSPEC_TSID is used as handle to
add and delete TSPEC requests. The tsid sent by
upper layer is same as handle because there is
no separate param for handle, so host always rejects
to add new TSPEC request because already one request
is registered with same handle.

To avoid the issue host can internally modify
handle and can add request with modified handler.
During DEL TSPEC Provided ts_id can be used to
delete the entry.

Change-Id: I6d1231bc6516d2642739d5d1011c847b32472160
CRs-Fixed: 3580003
2023-08-29 15:03:58 -07:00
Venkateswara Naralasetty
4b174992a8 qcacld-3.0: move DP related INI config to hdd_dp_cfg.h
Move DP related INI config from hdd_config.h to hdd_dp_cfg.h

Change-Id: I9bb1b6a1e51396fc6af7d2e2f6c553d6e2a958f4
CRs-Fixed: 3599799
2023-08-29 15:03:52 -07:00
Vijay Raj
8255bcee81 qcacld-3.0: Introduce support for STA info logging
Add support for STA info logging via api
wlan_connectivity_sta_info_event()

STA info logs is sent immediately after the
connect request initiated from userspace.

Change-Id: I92c42c9ca27f90acae23452e8fba1f2b20396214
CRs-Fixed: 3597543
2023-08-29 15:03:46 -07:00
Paul Zhang
d72ae0d216 qcacld-3.0: Fix tdls vdev ref issue for race condition
When wpa_supplicant adds tdls peer during sta disconnecting,
scheduler thread clear MLO flag of vdev0, in wlan_key_get_link_vdev,
wlan_vdev_mlme_is_mlo_vdev(vdev0) return true, in
wlan_key_put_link_vdev, wlan_vdev_mlme_is_mlo_vdev(vdev0) return false,
WLAN_OSIF_TDLS_ID vdev ref count is released in both
wlan_key_get_link_vdev and wlan_key_put_link_vdev, while
WLAN_MLO_MGR_ID vdev ref count isn't released, assert will happen.

To fix it, add check in os_if, if vdev not up, reject tdls add peer to
avoid such race condition issue.

Change-Id: I851b269ee4a5649fe76cfa1fc6762b6ca41b0884
CRs-Fixed: 3598336
2023-08-29 15:03:40 -07:00
Rahul Choudhary
ce8a2a10ec Release 5.2.1.78C
Release 5.2.1.78C

Change-Id: I9e73d0cfa24edcf16f69d1569635f366bb212abb
CRs-Fixed: 774533
2023-08-29 05:20:33 -07:00