Commit Graph

2922 Commits

Author SHA1 Message Date
Paul Zhang
075d170c06 qcacld-3.0: Check the dscp value when update
The dscp value in the Qos map set element of assoc response
frame may be malformed. When try to update the dscpmampping,
make sure the value is less than SME_QOS_WMM_UP_MAX.

Change-Id: I669c5bec66a7dc839d2b2bdfa4eaafb8d7c8736a
CRs-Fixed: 3354319
2022-12-12 07:49:25 -08:00
Surya Prakash Sivaraj
2095242876 qcacld-3.0: Increase PMK max length to 64bytes
For SAE-EXT-KEY AKM with group-21 pwe, the PMK
length is 64bytes. Therefore, increase the max
size of the PMK to 64bytes in host to facilitate
PMK storage and PMK offloads.

Change-Id: I777a31acd56073d6a0312c47d95fe7d155b06fc6
CRs-Fixed: 3353102
2022-12-09 09:35:17 -08:00
vijaraj
d607d5e5e8 qcacld-3.0: Add support for AKM suite 24
Add support for AKM suite 24

Change-Id: I4b5be990a0f2d2aa481374486a5790970cc04592
CRs-Fixed: 3299864
2022-12-09 07:31:54 -08:00
Vinod Kumar Pirla
c1a01044d2 qcacld-3.0: Add NULL check for vdev mlme pointer
Handle the possibility of NULL value for VDEV
MLME component in csr_get_vdev_dot11_mode() API.

Change-Id: Ib998514788466ce390d429703c6f72197597c743
CRs-Fixed: 3354425
2022-12-07 21:22:50 -08:00
Liangwei Dong
8646ae0f4c qcacld-3.0: Release vdev ref count in error path
Release vdev ref count in error path.

Change-Id: Id59695cc48a4211bfba1a87ac12a44f90961d7f5
CRs-Fixed: 3345522
2022-12-04 06:25:43 -08:00
Liangwei Dong
17751d0800 qcacld-3.0: Protect STA powersave state change
At present the set/get user powersave state to MLME and send
command STA powersave mode to firmware operations are not
protected by lock.
Supplicant thread and hdd_ipv4_notifier_work_queue may have
race condition to access the user powersave flag. In that
case the STA powersave state may out of sync.

Fix by acquire sme lock to protect the powersave state set
sequence.

Change-Id: I76d848ea191f2319d015e0d70efad28f56a57d27
CRs-Fixed: 3342696
2022-12-02 12:28:54 -08:00
Krupali Dhanvijay
3ecc75ecc3 qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_empty_scan_refresh_period_global() and
sme_get_neighbor_scan_refresh_period() apis
and replace it with ucfg api.

Change-Id: Iaa511024467f45dc408da3db202b25f9b5276453
CRs-Fixed: 3335898
2022-12-02 01:25:11 -08:00
Krupali Dhanvijay
091ad81795 qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_roam_opportunistic_scan_threshold_diff() and
sme_get_roam_scan_home_away_time() apis and replace it with ucfg api.

Change-Id: I7de3bf3faff990cbf667cb8106044a33f16f3a46
CRs-Fixed: 3335898
2022-12-02 01:25:05 -08:00
Krupali Dhanvijay
7c037e6d50 qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_wes_mode(), sme_get_is_lfr_feature_enabled()
and sme_get_is_ft_feature_enabled() apis and
replace it with ucfg api.

Change-Id: I7715ba361264fcb2c0c93d8d073813538347dd31
CRs-Fixed: 3335898
2022-12-02 01:24:59 -08:00
Krupali Dhanvijay
2c38836b37 qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_neighbor_scan_max_chan_time() and
sme_get_neighbor_scan_max_chan_time() apis and replace it with ucfg api.

Change-Id: I8a9de18f22e352ed8c64f415fd0455f64227a857
CRs-Fixed: 3335898
2022-12-02 01:24:53 -08:00
Krupali Dhanvijay
45eb0c0f4e qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_roam_rssi_diff() and
sme_get_is_ese_feature_enabled() apis and replace it with ucfg api.

Change-Id: I226efbcf8ecd44b08684a3e17e2db987c169946d
CRs-Fixed: 3335898
2022-12-02 01:24:48 -08:00
Krupali Dhanvijay
5afc9f98c7 qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_empty_scan_refresh_period() and
sme_get_neighbor_scan_min_chan_time() apis and
replace it with ucfg api.

Change-Id: I372fcbcf4f96af2c642a5fe93c0f8e2ce98174ea
CRs-Fixed: 3335898
2022-12-02 01:24:43 -08:00
Krupali Dhanvijay
b3021e935e qcacld-3.0: Clean up code for sme apis
Clean up the code for sme_get_neighbor_lookup_rssi_threshold() and
sme_get_roam_rescan_rssi_diff() apis and
replace it with ucfg api.

Change-Id: Idc7503eaa316d68dc05aba8345970ace7bc8ad45
CRs-Fixed: 3335898
2022-12-02 01:24:37 -08:00
Krupali Dhanvijay
a3a9866f7d qcacld-3.0: Clean up code for sme apis
Clean up code for sme_get_valid_channels() and
sme_get_roam_intra_band() apis and
replace it with ucfg api.

Change-Id: Ic2f07e2193186d1e1ac81f6e5909417c10ab9c89
CRs-Fixed: 3335898
2022-12-02 01:24:32 -08:00
Rahul Gusain
5c9d7e5c13 qcacld-3.0: Reconfig OBSS periodicity upon NDP create/delete
When STA is connected to an 11ax AP, driver issues a scan request(OBSS)
to firmware with certain periodicity(it's 120 seconds currently).
Firmware shall do a scan for every 120 seconds irrespective of the
device activity. This causes data glitches throughout the scan duration
when data is going on a concurrent interface.
It's observed that the OBSS scan interrupts NDP data traffic from NDP
applications and causes glitches in file sharing/music sharing use cases.

Configure the OBSS scan periodicity with a larger value(1200 seconds) to
mitigate the glitches when first NDP forms. Reconfigure the original
scan duration(120 seconds) once all NDPs tear down.

Change-Id: Ie0c8228ff3b26f8d9a091909c710928e7ae2a787
CRs-Fixed: 3323193
2022-11-18 11:52:08 -08:00
Vijay Patil
6ba5b28b6c qcacld-3.0: Possible memleak at csr_roam_info->ft_pending_assoc_ind
Memory is allocated for ft_pending_assoc_ind in
csr_roam_chk_lnk_assoc_ind() for SAP/GO mode when AKM is
FT_RSN_PSK. This gets saved in ft_pending_assoc_ind_list
when ASSOC_IND is sent to HDD and the same would be used
later by ft_update/ft_cleanup APIs in success scenarios.

But if it fails to add the node for ft_pending_assoc_ind
in the list due to some reason (e.g. csr_roam_call_callback()
returns a failure), the buffer is not freed at all and results
in a memleak.

Free the buffer if csr_roam_call_callback() returns a failure.

Change-Id: Id8998f4905ac58fdc2ab101c9b1ea0870c31f44c
CRs-Fixed: 3339084
2022-11-18 11:52:03 -08:00
Vinod Kumar Pirla
c682062e13 qcacld-3.0: Associate in 11ax mode on non MLO vdev
In 11be capable configuration, for connection attempt
to MLO AP from non-MLO type vdev, downgrade to 11ax
mode association for that vdev.

User can still connect in ML mode from MLO type vdev.

Change-Id: I1e7cf940a778a20f2f4d5d24283ffb6aae52781b
CRs-Fixed: 3312163
2022-11-18 00:31:10 -08:00
Jyoti Kumari
93ae42666a qcacld-3.0: Handle LL SAP + SAP/GO scenario during acs
Filter pcl channel list for SAP/GO if LL SAP is present
and SAP/GO comes up.

Change-Id: I7527131ba8b465f5be9bafec3d0c8b527a70b3dd
CRs-Fixed: 3331013
2022-11-15 21:38:42 -08:00
Gururaj Pandurangi
876085af7a qcacld-3.0: Add support for EHT 320 MHz BW caps
Add a new API to append EHT 320 MHz bandwidth capability
from mlme to legacy dot11f structure.

Change-Id: I9ffe7d51da3b22fec47b7be36ab2ac54a8e91bfb
CRs-Fixed: 3330749
2022-11-12 01:23:01 -08:00
Qian Zhang
6b67f86e66 qcacld-3.0: Fix memory leak in OWE pending assoc_ind
In normal scenario, owe_pending_assoc_ind is inserted to
owe_pending_assoc_ind_list and would be released when
sap is destroyed.

Once wlansap_roam_process_infra_assoc_ind failed to handle
assoc_ind, owe_pending_assoc_ind will not be inserted to
owe_pending_assoc_ind_list. There would be memory leakage.

Change-Id: I6e799cae09d0bdc0beaf1a8c3f2e55c48c9056e0
CRs-Fixed: 3323377
2022-11-10 02:23:08 -08:00
Vinod Kumar Pirla
370fadfee0 qcacld-3.0: Enable ML support for virtual interface
For virtual interface, add support to create the interface
as ML capable.
Currently implementation will create a single link ML interface.
This ML capability will only be enabled for STA/SAP type mode.

Change-Id: I11263460ee8404c8ea319cd139d92b080035b416
CRs-Fixed: 3315353
2022-11-10 02:22:57 -08:00
Bing Sun
09b25d7556 qcacld-3.0: Define new_ch_width in csa_offload_params as phy_ch_width
Currently sme_switch_channel set new_ch_width as phy_ch_width, while
wma_csa_offload_handler set new_ch_width as raw bit in wide bandwidth
channel switch IE.
Clean up the code. Define new_ch_width in csa_offload_params as
phy_ch_width.

Change-Id: Iadecc7693bf4ffd9f9562405ef18ea9d25d45c9e
CRs-Fixed: 3324762
2022-11-08 16:49:10 -08:00
Jianmin Zhu
5eb727828b qcacld-3.0: Configure Power Save for ML link
Currently, driver configures PS only for assoc vdev for static IP case.
To fix it, driver should configure power save for ML links as well.

Change-Id: Ifc37b6027c8bf94fefb15260fe7758635d5f1b88
CRs-Fixed: 3319458
2022-10-25 22:08:43 -07:00
Pragaspathi Thilagaraj
bdef50f9cd qcacld-3.0: Cleanup measurement data for failed RRM scan
When the beacon report measurement is done and roaming
is triggered, then rrm scan gets aborted due to roaming
and the measurement gets dropped in the middle and cleanup
is not done properly.

So cleanup the measurement index for which the RRM scan
is dropped during roam.

Change-Id: Ic31a8587494fc298fb7fbdef99b8bf917e10024f
CRs-Fixed: 3316624
2022-10-25 20:10:14 -07:00
Paul Zhang
b5080fb430 qcacld-3.0: enhancement the beacon filter table
Enhancement the beacon filter table to add more
elements and extension elements.

Change-Id: Iee3bc9d768227102a971bafdb41db445c0f03d31
CRs-Fixed: 3296203
2022-10-20 14:39:34 -07:00
Jyoti Kumari
47e5799911 qcacld-3.0: Support STA/GC/SAP/GO/ML-STA plus ll SAP concurrency
If there is existing interface STA/GC/SAP/GO/ML STA and
low latency SAP tries to come then allow only if below
condition satisfies
1. DBS hw_mode: Allow if existing interface is on 2.4 GHz
channel otherwise reject.
2. SBS hw_mode: Allow if existing interface channel and low
latency SAP channel are mutually exclusive.

Change-Id: I67a883b89f63fa581379cb303da6c11b43e65912
CRs-Fixed: 3296640
2022-10-20 07:40:47 -07:00
Ben Wang
dafdfb98ff qcacld-3.0: Support SAP fast BSS transition in driver
When driver receive auth request frame with FT algorithm,
offload it to hostapd.

When driver receive (re)assoc request whith FT-PSK in RSN IE.
offload it to hostapd.

Filter FT related IE from hostapd, and append it to the end
of the (re)assoc response frame

Change-Id: Id11cce6898615bb6b0cb361ea7b23ea2014f0bae
CRs-Fixed: 4202696
2022-10-18 01:42:14 -07:00
abhinav kumar
59426b95be qcacld-3.0: Control Pre Punc and UL MU-MIMO feature via INI
Control Preamble Puncturing feature via INI "he_rx_pream_punc"
and UL MU-MIMO feature via INI "enable_ul_mimo".

Change-Id: Ib4d6fd10c9e4f46c1baa5070f94d8dddd4978757
CRs-Fixed: 3305742
2022-10-17 18:16:32 -07:00
Amruta Kulkarni
40598153fa qcacld-3.0: Store and send keys after peer assoc
For STA mlo connection the AP might send M1 right after assoc
response on assoc link which can result in keys sent down to FW
for mlo links before host has sent wmi_peer_assoc for link vdev.
Current code does not have handling for this case.

To solve this, store the keys and once connection is completed
on link vdev send keys.

Change-Id: I3675451ef0e047caf8c77d256ea67f0eac6ed797
CRs-Fixed: 3289589
2022-10-12 23:22:17 -07:00
Nagalakshmi
1fd7ee3421 qcacld-3.0: Avoid Using sme global lock in hdd calls of Connection mgr
If the connection manager command is moved from pending to active
queue after an SME initiated active command e.g SAP peer
disconnect, it's already holding the SME lock and trying to
acquire the connection manager lock.

Now if in another thread, the connection manager process is
already in progress and tries to get the SME lock,
the driver ends up in a deadlock.

Thus remove the SME global lock from the APIs called from
HDD disconnect handlers.

Change-Id: I1c8afa55163e4113e5be5232efc15681eda69473
CRs-Fixed: 3304039
2022-10-08 01:54:54 -07:00
Jeff Johnson
08a4ea4992 qcacld-3.0: core: sme: Fix misspellings
Fix misspellings in core/sme/...

Change-Id: Ic5ac73d86a5ef245d2a19d34dc8e97f4f55665b1
CRs-Fixed: 3303624
2022-10-07 19:13:50 -07:00
Divyajyothi Goparaju
3498515802 qcacld-3.0: Replace wlan_reg_get_channel_state_for_freq
Replace all occurrences of
wlan_reg_get_channel_state_for_freq with
wlan_reg_get_channel_state_for_pwrmode and use extra
parameter as REG_CURRENT_PWR_MODE.

Change-Id: I7f7e4e700091918eeebc87ccbbc85ececdd9bf52
CRs-Fixed: 3145011
2022-10-06 13:01:14 -07:00
Aditya Kodukula
1472d9ad6d qcacld-3.0: Disable 11be when not supported by target
Disable 11be when not supported by target

Change-Id: Iecf9ab3eab5a9e69b01fb03b30b028b57019b10d
CRs-Fixed: 3291961
2022-09-22 06:09:24 -07:00
Arun Kumar Khandavalli
ab5801f734 qcacld-3.0: Remove unused curr_device_mode variable/Function
Currently in the global sme context a device mode is getting set
which is unused, removed curr_device_mode and its corresponding
set function.

Change-Id: I479107b2bbb940171d41f2620165ccbb7f0b7fff
CRs-Fixed: 3294818
2022-09-19 17:50:10 -07:00
Jeff Johnson
d5403c42a4 qcacld-3.0: Rename wlan_cm_ese_populate_addtional_ies()
Rename wlan_cm_ese_populate_addtional_ies() to fix misspelling in the
name: addtional ==> additional

Change-Id: I3a5528d09804628cc665ee882ced3af2581b0f34
CRs-Fixed: 3281750
2022-09-16 13:27:23 -07:00
Ashish Kumar Dhanotiya
598a31450c qcacld-3.0: Check band capability as well to decide wifi standard
Currently host does not consider band capability when it decides
supported wifi standard info. This results in incorrect supported
wifi standard info. For example if dot11 mode ini is set to auto
and 6 GHz is disabled from band capability and if host does not
support 11BE, in this case if host does not consider band
capability it reports supported wifi standard as wifi 6E, but
ideally it should not report wifi 6E as it wifi 6E mandates
6 GHz support.

To address above issue, consider band capability as well to
decide supported wifi standard.

Change-Id: Iae7804a73d8ba36ec855fdc4c00ca3106e43b350
CRs-Fixed: 3282169
2022-09-16 07:27:03 -07:00
Vinod Kumar Pirla
a38838b29f qcacld-3.0: Update link address in dynamic MAC update
For associating to a ML capable AP, driver will use link address.
During dynamic MAC address update the link address in VDEV MLME
is not updated, so leading to sending the auth request with
older link address.

Update the link address as well during dynamic MAC address update.
Copy MLD address in the hdd_adapter only for ML adapter type.

Change-Id: I534e075bb26efeb3c035652cddc5d8d665604089
CRs-Fixed: 3287245
2022-09-10 04:45:50 -07:00
Jianmin Zhu
1c32cf7685 qcacld-3.0: Permit pmksa by MLD address
Permit pmksa by MLD address besides link address for 11be MLO.

Change-Id: I2c9569c3473899ba560a5a08b54f51063eb203cd
CRs-Fixed: 3283302
2022-09-08 07:47:04 -07:00
Bing Sun
b9a91ebcaa qcacld-3.0: Fix SAP OWE roaming issue
SAP fails to get RSN IE from reassoc request frame body.

Assoc request and reassoc request have different fixed parameters.
IE should be retrieved based on frame subtype.

Change-Id: I72cfc4cc28cdfeb9a35269d6c1a8c638dea87631
CRs-Fixed: 3283683
2022-09-08 07:46:53 -07:00
Jeff Johnson
fa3e8441e5 qcacld-3.0: Fix misspellings of "available"
Fix misspellings:
availbale ==> available
avaialble ==> available
avilable ==> available

Change-Id: Ibaf369e6baf70508b32f6acdd6aa851c1fc13dca
CRs-Fixed: 3275686
2022-09-06 18:56:57 -07:00
Pragaspathi Thilagaraj
b0dc5febdb qcacld-3.0: Fill PMKID in association request to SAE AP
After SAE full authentication, driver is not including
PMKID derived as part of the SAE authentication to the
AP in association request frame. This causes interopability
issues with some AP, which expects PMKID in association
request frame.

Fill PMKID in association request to SAE AP.

Change-Id: Ic09d653c74fd5c37486e4fa22b5ca9cd85c04743
CRs-Fixed: 3280164
2022-09-05 04:48:49 -07:00
Pragaspathi Thilagaraj
141b046a13 qcacld-3.0: Reset wait for hw mode change event
Hw mode change in progress is set after the set_hw_mode
command is queued in serialization. Its not reset in below
cases:
Active command timeout case, serialization command
cancelled case.

Before connect request is queued, if hw mode change is in
progress, there is 6 secs wait and if there is no hw mode
change response, connection failure. This causes subsequent
connection failures and there is no recovery.

Reset the wait for hw mode change event in serialization
command failure cases.

Change-Id: I716982f06198e9c3495685ddb158044778c4b1ff
CRs-Fixed: 3256424
2022-08-31 19:22:26 -07:00
Jeff Johnson
afc7383127 qcacld-3.0: Rename wlan_mlme_set_sta_mlo_simulataneous_links()
Rename wlan_mlme_set_sta_mlo_simulataneous_links() to correct
misspelling: simulataneous ==> simultaneous.

Change-Id: I5f483446a63221be7c689fb35bd5b5c0548f0473
CRs-Fixed: 3280095
2022-08-31 19:22:20 -07:00
Amruta Kulkarni
7a2871544b qcacld-3.0: RSO enable for open and secure connection
Currently rso enable for open and secure connection is handled
incorrectly.
For secure connection roaming should be enabled
after key exchange is complete.
For open connection rso enable is done twice.

Fix is for enabling roam offload for open and secure connection.

Change-Id: I0abde2a6001f176c97e4aa59947260a50c48e6cc
CRs-Fixed: 3271248
2022-08-31 16:03:54 -07:00
Kiran Kumar Lokere
3d9b149612 qcacld-3.0: Update cfg HE caps for user BW configuration
Update the cfg HE capabilities to advertise with
user-configured channel width.

Change-Id: Id6a00341bad91edbc0123eb7334b5b83548b2f94
CRs-Fixed: 3271506
2022-08-31 11:07:37 -07:00
Jeff Johnson
155dea7b77 qcacld-3.0: Fix misspellings of "return"
Fix misspellings of "return":
Retrun ==> Return
Reture ==> Return
retrun ==> return
reutrns ==> returns

Change-Id: Iad8bc9f4e9d94b05ed47fd91a591ea0dbc92fde2
CRs-Fixed: 3274605
2022-08-29 14:55:28 -07:00
Kiran Kumar Lokere
c38d5d534c qcacld-3.0: Config support for assoc link band and no.of links
Config support for assoc link band and max number of links.

Change-Id: I6b9999216691a191e3f02d3756166203055c6c96
CRs-Fixed: 3271628
2022-08-27 22:57:16 -07:00
Kiran Kumar Lokere
b4a3d09a5e qcacld-3.0: Add support for testbed default EHT caps
Add support to set the EHT capabilities for testbed
default settings.

Change-Id: Ica67836e464d42adc43971456801103d088a0891
CRs-Fixed: 3256051
2022-08-23 05:39:54 -07:00
Jeff Johnson
adc9857a94 qcacld-3.0: Fix misspelling "recevied"
Multiple instances of the misspelling "recevied" are present, so
replace them with the correct spelling "received."

Change-Id: Ie0421bc472d5c25f1fbcc5e8c9333e0283a6e129
CRs-Fixed: 3271103
2022-08-22 13:14:39 -07:00
Surabhi Vishnoi
ef08e7a4c4 qcacld-3.0: Select first clean channel for ACS to optimize SAP turn on time
Currently, ACS computation triggers when ACS scan complete event is
received after firmware has scanned all channels. This leads to
delay in selection on SAP channel.
As an optimization, this change selects the first clean channel
while scan is still in progress. The criteria for first clean channel
is that no beacon/probe response should be received on that channel.
If such channel is obtained while scan is in progress, then select this
channel as SAP channel and abort ongoing scan. Firmware sends
wma_chan_info_event per channel this change uses this event as an
indication that scan is completed on that channel.

To further increase the optimize the time to get clean channel, sort the
ACS frequency list in descending order in ACS SCAN request to
firmware. Firmware scans the channel in the order given by host
in scan request, as higher band channels are less occupied, the
probability of getting clean channel initially will increase, which
will lead to selecting the channel in less time and thereby reduce
the SAP turn on time.

Change-Id: I1a38556862b66943edea08783436f5e1e3a255f6
CRs-Fixed: 3245166
2022-08-19 01:53:49 -07:00