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
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
Handle the possibility of NULL value for VDEV
MLME component in csr_get_vdev_dot11_mode() API.
Change-Id: Ib998514788466ce390d429703c6f72197597c743
CRs-Fixed: 3354425
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
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
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
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
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
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
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
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
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
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
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
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
Add a new API to append EHT 320 MHz bandwidth capability
from mlme to legacy dot11f structure.
Change-Id: I9ffe7d51da3b22fec47b7be36ab2ac54a8e91bfb
CRs-Fixed: 3330749
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
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
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
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
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
Enhancement the beacon filter table to add more
elements and extension elements.
Change-Id: Iee3bc9d768227102a971bafdb41db445c0f03d31
CRs-Fixed: 3296203
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
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
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
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
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
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
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
Rename wlan_cm_ese_populate_addtional_ies() to fix misspelling in the
name: addtional ==> additional
Change-Id: I3a5528d09804628cc665ee882ced3af2581b0f34
CRs-Fixed: 3281750
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
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
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
Fix misspellings:
availbale ==> available
avaialble ==> available
avilable ==> available
Change-Id: Ibaf369e6baf70508b32f6acdd6aa851c1fc13dca
CRs-Fixed: 3275686
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
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
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
Update the cfg HE capabilities to advertise with
user-configured channel width.
Change-Id: Id6a00341bad91edbc0123eb7334b5b83548b2f94
CRs-Fixed: 3271506
Multiple instances of the misspelling "recevied" are present, so
replace them with the correct spelling "received."
Change-Id: Ie0421bc472d5c25f1fbcc5e8c9333e0283a6e129
CRs-Fixed: 3271103
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