Commit Graph

2048 Commits

Author SHA1 Message Date
gaurank kathpalia
6ebfc3c01b qcacld-3.0: Add AP to BLM reject list
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
2020-06-27 06:18:10 -07:00
Pragaspathi Thilagaraj
3bbb4610b6 qcacld-3.0: Introduce new ini for dual sta roaming
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
2020-06-27 06:18:03 -07:00
Srinivas Girigowda
5e5cf5996f qcacld-3.0: Replace obsolete WMA_LOGA() with wma_alert()
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
2020-06-27 03:57:33 -07:00
Srikanth Marepalli
89a9eb0370 qcacld-3.0: Fix Invalid EAPOL-Key MIC packet drop issue
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
2020-06-26 22:48:26 -07:00
gaurank kathpalia
67b87cbde5 qcacld-3.0: Move BSS scoring logic to connection manager
Move bss scoring logic to connection manager.

Change-Id: Ie7639853dec303133705c3394bf0577670000c21
CRs-Fixed: 2707108
2020-06-26 11:08:47 -07:00
Rachit Kankane
24542c328e qcacld-3.0: Set default hw mode for ready ext
Update default HW mode after selecting default hw mode
while handling service ready ext event

Change-Id: I022644554df0824d760304fe99a86295b20660b1
CRs-Fixed: 2711482
2020-06-26 05:37:28 -07:00
Srinivas Girigowda
68c954548f qcacld-3.0: Replace obsolete WMA_LOGW() with wma_warn()
Replace obsolete WMA_LOGW() macro with wma_warn().

Change-Id: I4257ccf22bfa45465ffbd44a7ef5b5712ebb754f
CRs-Fixed: 2718987
2020-06-25 21:26:58 -07:00
Srinivas Girigowda
9e0b3dbb70 qcacld-3.0: Replace obsolete WMA_LOGP() with wma_alert()
Replace obsolete WMA_LOGP() macro with wma_alert().

Change-Id: I7e9d8048789c8deee6c3bfab72d7f9b591fca9b9
CRs-Fixed: 2716176
2020-06-23 15:44:09 -07:00
Ashish Kumar Dhanotiya
a747d4cdb8 qcacld-3.0: Handle multiple oem data events for single command
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
2020-06-22 01:37:05 -07:00
Srinivas Girigowda
7678422000 qcacld-3.0: Replace obsolete WMA_LOGD() with wma_debug()
Replace obsolete WMA_LOGD() macro with wma_debug().

Change-Id: I41534dd1cc0321d0e5a77a8ba1f4fbe07ad7e6f3
CRs-Fixed: 2712788
2020-06-19 19:45:04 -07:00
Srinivas Girigowda
ba519cafa2 qcacld-3.0: Replace WMA_LOGD() with wma_debug() in wma_utils.c
Replace obsolete WMA_LOGD() macro with wma_debug() in wma_utils.c

Change-Id: I917b234c6fef83e93d4ef7f8a27b9b604c3045ad
CRs-Fixed: 2712788
2020-06-19 19:45:01 -07:00
Srinivas Girigowda
3fab023fe0 qcacld-3.0: Replace WMA_LOGD() with wma_debug() in wma_power.c
Replace obsolete WMA_LOGD() macro with wma_debug() in wma_power.c

Change-Id: I49c449af9cfba429a9709834b5b83db8a84a93fa
CRs-Fixed: 2712788
2020-06-19 19:44:57 -07:00
Srinivas Girigowda
2e20c75e42 qcacld-3.0: Replace WMA_LOGD() with wma_debug() in wma_main.c
Replace obsolete WMA_LOGD() macro with wma_debug() in wma_main.c

Change-Id: Ia144748a2b6fc9e82cf9896f81586cd9d7147e09
CRs-Fixed: 2712788
2020-06-19 19:44:53 -07:00
Srinivas Girigowda
13d07aa54b qcacld-3.0: Replace WMA_LOGD() with wma_debug() in wma_he.c
Replace obsolete WMA_LOGD() macro with wma_debug() in wma_he.c

Change-Id: Ia448ade9d191ee5fc3db9a9c9a2cedd8f4f39757
CRs-Fixed: 2712788
2020-06-19 19:44:50 -07:00
Srinivas Girigowda
3827655105 qcacld-3.0: Replace WMA_LOGD() with wma_debug() in wma_features.c
Replace obsolete WMA_LOGD() macro with wma_debug() in wma_features.c

Change-Id: I4482617c1bd564357d90df60cc858b3c2d270ef4
CRs-Fixed: 2712788
2020-06-19 19:44:46 -07:00
Srinivas Girigowda
17baebfba4 qcacld-3.0: Replace WMA_LOGD() with wma_debug() in wma_dev_if.c
Replace obsolete WMA_LOGD() macro with wma_debug() in wma_dev_if.c

Change-Id: I3c7ac380e85e697d53f2196bb8a5d4da612fdae7
CRs-Fixed: 2712788
2020-06-19 19:44:43 -07:00
Srinivas Girigowda
45bb1adecf qcacld-3.0: Replace WMA_LOGD() with wma_debug() in wma_data.c
Replace obsolete WMA_LOGD() macro with wma_debug() in wma_data.c

Change-Id: Ia54e16b313dddae76d313b6abe0d579f9912bd11
CRs-Fixed: 2712788
2020-06-19 19:44:39 -07:00
Srinivas Girigowda
490a4e8704 qcacld-3.0: Replace WMA_LOGD() with wma_debug() in wma_scan_roam.c
Replace obsolete WMA_LOGD() macro with wma_debug() in wma_scan_roam.c

Change-Id: I243ebfa3941738ebc251858123e90687b9a77c86
CRs-Fixed: 2712788
2020-06-19 19:44:34 -07:00
hqu
e2e9ea6d37 qcacld-3.0: Add support for 64-clients
Add support for 64-clients.

Change-Id: Ic97ebb83190b5061734832f6dc6dcdb6d0bdac2b
CRs-Fixed: 2625495
2020-06-15 21:52:20 -07:00
Abhishek Ambure
9e3400ac77 qcacld-3.0: Add support to configure max ndi host supports
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
2020-06-10 07:25:54 -07:00
Utkarsh Bhatnagar
3b117bb647 qcacld-3.0: Add pointer sanity check for mac context
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
2020-06-10 01:56:06 -07:00
Kiran Kumar Lokere
2c3a4ea4e9 qcacld-3.0: Fix the 6G band capability config to FW
Convert the 6GHz capability local struct value to raw 32-bit
value to before configure it to FW.

Change-Id: Ia9f7d7d35b0f481ad9ae7d15eec5ee198158da88
CRs-Fixed: 2696392
2020-06-09 23:59:29 -07:00
Utkarsh Bhatnagar
4d345a3488 qcacld-3.0: Add pointer sanity check in wma_post_chan_switch_setup
Add pointer sanity check in wma_post_chan_switch_setup

Change-Id: I2972d033605895b0fe626593854798b112621eab
CRs-Fixed: 2706172
2020-06-09 19:16:01 -07:00
Utkarsh Bhatnagar
e78f2a6224 qcacld-3.0: Add pointer sanity check in wma_pre_chan_switch_setup
Add pointer sanity check in wma_pre_chan_switch_setup

Change-Id: If7753f0e99993c3744b5c0d801284b4648a0fde8
CRs-Fixed: 2705037
2020-06-09 16:29:48 -07:00
Utkarsh Bhatnagar
7306d6ec05 qcacld-3.0: Add pointer sanity check for mac_phy_cap
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
2020-06-09 16:29:45 -07:00
Vulupala Shashank Reddy
0570165f4e qcacld-3.0: Update pktcapture support
Update pktcapture support for packet capture mode.

Change-Id: Id7281d57b7eb547027a999e9662e6ca3c612673d
CRs-Fixed: 2700679
2020-06-09 14:30:33 -07:00
Pragaspathi Thilagaraj
7f725e3312 qcacld-3.0: Print next RSSI threshold for periodic scan roam trigger
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
2020-06-08 18:36:40 -07:00
Abhishek Ambure
a6afc073d0 qcacld-3.0: Add ini support to configure max ndp sessions in fw
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
2020-06-08 16:00:50 -07:00
sheenam monga
0ec49a71f7 qcacld-3.0: Handle attribute OEM_DATA_RESPONSE_EXPECTED
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
2020-06-04 05:30:58 -07:00
Min Liu
faed961a98 qcacld-3.0: Set Wi-Fi configurations - TX AMSDU, RX AMSDU
Add attributes in SET(GET)_WIFI_CONFIGURATION to dynamically
configure capabilities - TX AMSDU, RX AMSDU.

Change-Id: I17d3c5d32987e638805cdaf5fe48ba3036b3ff22
CRs-Fixed: 2687303
2020-06-03 09:27:36 -07:00
ngong
9d23242e68 qcacld-3.0: Check gIPAConfig before setting ipa flag to fw
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
2020-06-02 15:19:13 -07:00
Bapiraju Alla
7740bf96b9 qcacld-3.0: Log Tx power setting in the driver
Log tx power value in the driver before sending to firmware

Change-Id: I602612433407e89bfa5288fa89a181a0db329f71
CRs-Fixed: 2699480
2020-06-01 23:13:27 -07:00
Bapiraju Alla
498953e600 qcacld-3.0: Update rx retry count in peer stats
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
2020-06-01 23:13:20 -07:00
Lincoln Tran
cf98b324aa qcacld-3.0: Update wma_discard_fw_event
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
2020-05-31 04:04:18 -07:00
Utkarsh Bhatnagar
09431aa329 qcacld-3.0: Fix usage of wlan_reg_legacy_chan_to_freq
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
2020-05-28 21:07:28 -07:00
Utkarsh Bhatnagar
f31d749e83 qcacld-3.0: replace mhz of struct wma_txrx_node with chan_freq
chan_freq and mhz variable represent the same thing so use chan_freq
instead of mhz.

Change-Id: I4162504562c30ece71f5ebc465b1af3a048b01b2
CRs-Fixed: 2696795
2020-05-28 17:28:37 -07:00
Yeshwanth Sriram Guntuka
265174a512 qcacld-3.0: Update rx mpdu count in link layer stats rsp
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
2020-05-28 07:57:02 -07:00
gaurank kathpalia
4f97da5b23 qcacld-3.0: Add BSSID to avoid list for STA-KICKOUT
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
2020-05-23 14:26:39 -07:00
Lin Bai
2d1f2a224b qcacld-3.0: Dump PAGE_FAULT event buffer
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
2020-05-21 20:34:44 -07:00
Srikanth Marepalli
ec2675cd04 qcacld-3.0: Add support for WPA3 SuiteB roaming
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
2020-05-19 08:40:58 -07:00
Abhinav Kumar
19369442ae qcacld-3.0: Use status for Peer Assoc Conf event
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
2020-05-18 05:51:27 -07:00
Utkarsh Bhatnagar
3c5918e041 qcacld-3.0: Removed WEP_DEFAULT_KEY
Removed WEP default key with the corresponding functions

Change-Id: I721b60969e6aea7f0abf58edcd4028dad5b03a25
CRs-Fixed: 2687348
2020-05-15 18:47:23 -07:00
gaurank kathpalia
322d8eb806 qcacld-3.0: Cleanup IBSS code from LIM
Cleanup IBSS related code from LIM.

Change-Id: Idebb0f55aa27751f1fdd7b4c1fb8124ae29eb382
CRs-Fixed: 2687017
2020-05-15 18:47:18 -07:00
gaurank kathpalia
86a93dbbde qcacld-3.0: Remove IBSS specific code from WMA
Remove IBSS specific code from WMA.

Change-Id: Iacdace8435fd8e6c167df24167db23a14efe4f15
CRs-Fixed: 2687016
2020-05-15 16:38:05 -07:00
Abhishek Singh
2281c2d6bb qcacld-3.0: remove dependency of public files from wlan_objmgr_psoc_obj.h
Remove dependency of wlan_lmac_if_def headerfiles from
wlan_objmgr_psoc_obj.h

Change-Id: I5f6120a97be3ae6835023ceaef455088820809de
CRs-Fixed: 2657771
2020-05-15 10:41:20 -07:00
Abhinav Kumar
e3e903bf37 qcacld-3.0: Introduce new INI to enable/disable FT-IM
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
2020-05-15 06:56:02 -07:00
Utkarsh Bhatnagar
b0bf5ddb1b qcacld-3.0: Removed FEATURE_WLAN_RMC feature
Removed all the API realted to  FEATURE_WLAN_RMC
as well as related SME/WMA code.

Change-Id: Id471ccabcfd183fbcc7ff4e4953991f9e1551526
CRs-Fixed: 2686364
2020-05-14 17:49:11 -07:00
Abhishek Ambure
a7b4ee1df8 qcacld-3.0: Don't force RSSI trigger in controlled roaming mode
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
2020-05-14 02:16:51 -07:00
Wu Gao
aeb4629aa4 qcacld-3.0: Correct the names of structure and API about spectral
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
2020-05-13 01:30:20 -07:00
Vulupala Shashank Reddy
d4724cf9af qcacld-3.0: Delete older PMK of all APs which have the same PMK
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
2020-05-13 01:30:15 -07:00