Currently the driver calls the BLM API
to add the BSSID to the reject list if
STA kickout event comes from the FW.
Now since the event comes in interrupt
context and BLM takes a mutex lock, it
is not allowed.
Fix is to change the context
and call the BLM API from lim del sta
which would execute in scheduler
thread.
Change-Id: I3c2726ea152eeeee6ae30d80388aedac631f6c39
CRs-Fixed: 2716192
Add new ini enable_dual_sta_roam_offload to enable/disable dual
sta romaing feature. Enabling this ini will allow firmware to
roam on both the vdev if firmware supports dual sta roaming and
the hw is dbs capable.
This ini will be checked in the dual sta roaming offload state
machine to enable roaming on both the STA or to fallback to the
current implementation where first connected sta will have rso
enabled.
Change-Id: I04f141ac31e0f168b6f19fe878bca219a36cfae7
CRs-Fixed: 2709036
Replace obsolete WMA_LOGA() macro with wma_alert().
In some error cases, usage of wma_alert() is incorrect and
hence use wma_err().
Change-Id: Ife02033c4f981c31f5e6b165d5e8961e2ce1f9d8
CRs-Fixed: 2716176
After the roaming is offloaded to Firmware when the GTK rekey
happens in Host proper KCK should be used to verify MIC.
In WPA2 GTK rekey is offloaded to Firmware but not in WPA3 case.
In WPA3 SuiteB Firmware sends KCK in Key material extended TLV
instead of Key material TLV in Roam sync indication event, as the
Keys length is more in WPA3 SuiteB. And the Key material ext TLV
is parsed improperly in driver and the same is sent in roam+auth
event to wpa_supplicant. This wrong KCK was used to verify MIC
received in EAPOL.
This fix is to properly parse the KCK and KEK from Key buffer.
Change-Id: I57658b918bb41de2b5d2476d89b026d1f5982337
CRs-Fixed: 2713711
FW can send multiple events for a single oem data command
based on the size of the data to be send and the available
buffer size.
Currenlty sme callback in the oem data event handler
wma_oem_event_handler is set to null after it process the
event because of which next events for the same command
are not processed.
To address this issue do not make the sme callback as null
in the wma oem event handler.
CRs-Fixed: 2714680
Change-Id: Ia435a5bee7ed4d2e16313698052033f8b45a5873
Introduce INI "ndi_max_support" to configure max number of ndi
interfaces host supports. Host configures max number of ndi
interfaces support in firmware using WMI_INIT_CMD.
Change-Id: I287b9f96b98103e67cf35d0c02488a28af731044
CRs-Fixed: 2701557
Add pointer sanity check for mac context in wma_send_peer_assoc_req
as cds_get_context may return Null for mac context
Change-Id: I75a54d728f2c276a9aeeb1ee7d8ea46180540ac8
CRs-Fixed: 2706149
Convert the 6GHz capability local struct value to raw 32-bit
value to before configure it to FW.
Change-Id: Ia9f7d7d35b0f481ad9ae7d15eec5ee198158da88
CRs-Fixed: 2696392
Add pointer sanity check for mac_phy_cap in wma_update_hw_mode_list
as target_psoc_get_mac_phy_cap may return Null for mac_phy_cap
Change-Id: Id45b77fa4daf3df0680ee247355dbc87e0402dd9
CRs-Fixed: 2706156
The driver prints the current RSSI threshold and next RSSI
threshold for LOW RSSI roam trigger. Print these info for
Periodic scan roam trigger also.
Change-Id: I4140cae3631356949c925b8d21c032e6c02d4539
CRs-Fixed: 2694906
Introduce INI "ndp_max_sessions" to configure max number of ndp
sessions host supports. Firmware advertises max number of ndp
sessions supported in wmi_service_ready_ext2 event. If the firmware
advertises non-zero value of max ndp sessions then host configures
max ndp sessions support in firmware using WMI_INIT_CMD.
Host uses a minimum of "ndp_max_sessions" value and firmware
advertised max ndp session value to configure max number of ndp
sessions in firmware.
Change-Id: I613815f384f9b0a61711324c85ecfa095d133360
CRs-Fixed: 2673120
Add support for OEM_DATA_RESPONSE_EXPECTED. Driver waits for the
response from FW when this attribute is set and forward the blob of
data to supplicant.
Change-Id: I3e51809e4f5736b521c26e37afb02396f9c5ed23
CRs-Fixed: 2694556
Currently if kernel enable CONFIG_IPA3, wlan driver will directly
send IPA enabling flag to firmware, not checking gIPAConfig.
It lead to IPA disabled in driver but enabled in fw, causing fw crash
for some target like Genoa.
Correct logic is to check gIPAConfig before configure firmware.
Change-Id: I6e85c6bf3831029826bf279237eac2cc3a1ff07f
CRs-Fixed: 2698953
Currently, Rx retry count statistic is not supported by firmware.
So host driver also not updating the corresponding statistic in
peer stats. Datapth is updating this counter using retry bit in the
rx MPDU. Update peer Rx retry count value from data path.
Change-Id: I4fd422faa7a766090991c461cd6fd2cc70d2fcc3
CRs-Fixed: 2691704
Update return type of wma_discard_fw_event to return QDF_STATUS
to match scheduler_msg_process_fn_t.
Change-Id: I1746b170318be30810ddf7cc6be8156a3940b595
CRs-fixed: 2698308
In wma_vdev_pre_start() freq is already available with des_chan->ch_freq
so no need to get the freq again from using wlan_reg_legacy_chan_to_freq.
In hdd_cfg80211_update_channel_info() use wlan_reg_chan_band_to_freq
to get the freq from channel.
Change-Id: I179907c9f5a80f355b44aa9c9509d8d12d8825f8
CRs-Fixed: 2696687
chan_freq and mhz variable represent the same thing so use chan_freq
instead of mhz.
Change-Id: I4162504562c30ece71f5ebc465b1af3a048b01b2
CRs-Fixed: 2696795
Rx mpdu count received as part of peer link stats
event from firmware does not have the proper values.
Fix is to fetch the rx mpdu count from dp layer and
update the rx mpdu count before sending the stats to
HDD.
Change-Id: I945d32c7701f5f5c9bfbbaa6ab4576b94389c84c
CRs-Fixed: 2691648
If the STA-KICKOUT event comes too frequently for
a certain AP, then the AP might have some genuine
issue and should not be tried again and again in
intial connection and roaming case scenarios.
So it is better to avoid this AP and if the AP
still faces a kickout then after 3 attempts which
is ini configurable the driver would blacklist
it to avoid ping pong.
Change-Id: I8221cca9adc777ca275fdd76c2f8ba17cd12c14f
CRs-Fixed: 2683615
On non-DRV platform, host will be waked when page fault occurs
in firmware side.
Need to dump event buffer which contains more debug info regarding
current page fault.
Change-Id: I46d724c58000b3faafc0f5eead550acb37eafe3a
CRs-Fixed: 2690966
This commit enables support for SuiteB roaming for SHA384.
Based on the WPA3 SuiteB roam service capability advertisement
received from Firmware, we enable the support in Host.
Change-Id: Iab4e6bfc9c8ba7d604c2720c8cb848fce40dd6b4
CRs-Fixed: 2685975
After receiving PEER_ASSOC_CMD from host, FW sends Peer Assoc
Conf event as ACK of PEER_ASSOC_CMD. After that, host sends Mx
(STA:M2/M4) messages.
Currently, FW sends Peer Assoc Conf event to HOST only in
success case and HOT fills event status as success always.
As per requirement, FW now sends Peer Assoc Conf event to HOST
in failure case. So now host should update event status whatever
coming from FW.
Fix is to update proper Peer Assoc Conf event status
Change-Id: I7e1aa808e1beece23a5dfc0c120765e389e3f0f9
CRs-Fixed: 2640242
With specific AP(s), FW needs to perform FT initial mobility
association instead of FT roaming for deauth roam trigger.
This ini is used to configure "FT roaming for deauth roam trigger"
behavior from the HOST.
Change-Id: Id754a21f7ac2c330019055646f79c79db3e0c52c
CRs-Fixed: 2665882
Removed all the API realted to FEATURE_WLAN_RMC
as well as related SME/WMA code.
Change-Id: Id471ccabcfd183fbcc7ff4e4953991f9e1551526
CRs-Fixed: 2686364
Host configures rssi trigger, connected ap rssi delta and rssi
threshold in firmware. As rssi threshold is hit, firmware start
roam scan. Firmware decreases further RSSI threshold by connected
ap rssi delta if matching profile ap not found and so on.
Example: STA connects to an AP and host sets rssi trigger,
connected ap rssi delta=5 and rssi threshold as -25dbm. Firmware
starts roam scan as the rssi threshold is hit. In the roam scan
if desired profile ap is not found, decreases rssi threshold
by 5dbm i.e connected ap rssi delta. Now rssi threshold becomes
-30dbm and then firmware triggers roam scan and so on.
Thus the rssi threshold changes dynamically when controlled
roaming mode is set from userspace, to fix this do not force
RSSI triggers when controlled roaming from userspace is enable.
Change-Id: I1de3f71ca96de9f464d5d33b0271f99c55cff535
CRs-Fixed: 2681882
There is change modified the name of structure and API about spectral
cmd operations registration. So, add this change to correct them in
wma layer.
Change-Id: Icf1b8eb84e6cd6d110fe32ab30566c68ea33e2d7
CRs-Fixed: 2682782
Currently when supplicant sends set_pmkid_cache (Either after initial
connection or after session timeout with AP) to host to set
the new pmkid derived after the EAP is done. Host deletes PMK entry
only if bssid/ssid matches.
For OKC, the PMK derived from the initially associated AP will be
used for deriving PMKID for all APs. In case of connection with OKC
supported APs, If STA receive session timeout from AP, HOST should
delete older PMK of all APs which have the same PMK. Else While
roaming HOST could send older PMK to OKC supported AP and this
results PMK flush in FW and leads to full EAP.
Change-Id: I95881db229d5193cbdc22c5f30e1375b3892fbd4
CRs-Fixed: 2679737