Commit Graph

2030 Commits

Author SHA1 Message Date
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
Kiran Kumar Lokere
ca4db85bc2 qcacld-3.0: Fix issue with OBSS scan cmd send failure
OBSS scan enable WMI command is not correctly set for one of
the TLV of the command which corrupted the length of the next
TLV of the command and lead to command send failure.

Correct the buffer offset of the TLV in the OBSS scan WMI command.

Change-Id: Ieb9467c52ae9d9dab602485b4b63fc9de48e6924
CRs-Fixed: 2681000
2020-05-12 13:45:08 -07:00
Bapiraju Alla
2699855b77 qcacld-3.0: Validate return value of target_psoc_get_mac_phy_cap
Add sanity check for MAC PHY capabilities pointer returned by
target_psoc_get_mac_phy_cap. This avoids illegal memory access when
returned pointer is not valid.

Change-Id: I2ee0cdb5945599a2ccf35db819555d0f7192ef9f
CRs-Fixed: 2668418
2020-05-05 15:05:57 -07:00
Alan Chen
06551ba572 qcacld-3.0: Rename gEnablePowerSaveOffload to gAdvancedPowerSaveMode
gEnablePowerSaveOffload is confusing, so change it to
gAdvancedPowerSaveMode.

Value 0: Disable advanced power save
Value 1: Enable advanced power save

Change-Id: Ib5593ef31eedacdc232ffbad183974e2cd847e83
CRs-Fixed: 2676664
2020-05-04 23:12:06 -07:00
Abhishek Singh
3f29b6c7f2 qcacld-3.0: Use crypto API to fill and validate mmie
Use crypto API to fill and validate mmie for BC frames.

Change-Id: Ibe420f974c1f8fb3796168e6db976061f904d520
CRs-Fixed: 2664276
2020-05-04 03:50:06 -07:00
gaurank kathpalia
78c446da43 qcacld-3.0: Update bss rate flags after CSA
Currently the driver does not update the peer
rate flags after CSA and hence the rates and
link speed are wrong.

Fix is to update the rate flags after CSA so
that the reported link speed now is correct.

Change-Id: Idb51447b98acc281625d1ed0dae983fe2da2426a
CRs-Fixed: 2669792
2020-05-02 09:22:12 -07:00
vtanuku
c8ef7c5577 qcacld-3.0: Fix KW issue, initialize therm_data to zero
Fix KW issue: therm_data.levelconf array elements are used uninitialized

Initialize therm_data in wma_update_thermal_mitigation_to_fw to zero

Change-Id: I40c4f57d70036956d0d618ad560ea9ea0f7dc07d
CRs-Fixed: 2669375
2020-04-29 06:29:15 -07:00
Pragaspathi Thilagaraj
7e28d569ca qcacld-3.0: Abort only host scans on roam start
The roam sequence in LFR-3.0 is roam scan start notification
from firmware followed by roam start indication and then
roam synch,roam synch frame events. Roam start is sent
after candidate selection and host driver will disable
queues when roam start is received.
But for emergency roam trigger, firmware sends roam start
indication directly without notifying roam scan start to disable
data path queues immediately after deauth received from the AP.
So roam start is received before roam scan is started at firmware
and before candidate selection is done.
After roam start notification, host sends scan abort for all scan
on vdev by setting scan command request type to
WMI_SCN_STOP_VAP_ALL. This results in roam scan getting aborted at
firmare in emergency deauth roaming case and roaming fails.

Define new vdev id value based on which the scan module will
abort only host triggered scans setting the request type to
WMI_SCN_STOP_HOST_VAP_ALL in the scan request.

Change-Id: Ie8b005285973461f654329e1b2dc1a45205331f5
CRs-Fixed: 2644323
2020-04-27 21:32:01 -07:00
Jianmin Zhu
e6655cd69a qcacld-3.0: Validate wma handle before using it
Validate wma handle before using it.

Change-Id: Ic8d62ffa66ace75ef43326908ad4ebe19cb8533a
CRs-Fixed: 2669309
2020-04-27 15:46:50 -07:00
Jianmin Zhu
40e0a44264 qcacld-3.0: Validate wma handle before using it
Validate wma handle before using it.

Change-Id: Ia29ffcfdebe1de0c36d2c0f91188e0785a00464c
CRs-Fixed: 2669325
2020-04-27 15:46:45 -07:00
Utkarsh Bhatnagar
7407c48ab5 qcacld-3.0: Print fw_phymode & Inlcude peer phymode to check for 11b
Enhanced the log printed in wma_sap_peer_send_phymode to add fw_phymode
Also, Used peer phymode as well to check for 11b mode.

Change-Id: Ib009cf0d7ffbd0512a41c9e6fe84e674685f63ec
CRs-Fixed: 2670345
2020-04-24 17:09:41 -07:00
Pankaj Singh
8e2e7b47a3 qcacld-3.0: Don't send peer update after peer delete
During tdls peer delete, wmi command WMI_PEER_DELETE has been
send but later on from driver wmi command for peer update is
send without checking for peer reference before sending to fw.

Fix, to check for peer reference before posting the cmd to fw.

change-ID: I216d1ad726af3369c227ae566e22949cadb8300c
CRs-Fixed: 2667811
2020-04-24 17:09:25 -07:00
Alan Chen
ecb37344d6 qcacld-3.0: Add debug panic if FW ready event is timed out
If FW ready event is timed out, then add debug panic such that we can
collect FW ram dump reliably.

Change-Id: I61f19023675ec6d7bb4ff882d4a08f0ffcee1607
CRs-Fixed: 2670314
2020-04-23 07:42:26 -07:00
Utkarsh Bhatnagar
d84070d054 qcacld-3.0: KW issue in wma_update_phymode_on_roam
vdev_mlme was not checked for null before getting dereferenced

Change-Id: I09a696b66304cce525ca6ec382f51799b1b64daf
CRs-Fixed: 2669335
2020-04-23 04:44:49 -07:00
Aditya Kodukula
91b7d01c3f qcacld-3.0: Align feature flag WLAN_POWER_DEBUG properly for power stats
The WLAN_POWER_DEBUG feature flag for power stats is not properly aligned
in the commit Ic395f393580fcd59faa4e4676f67a39ff37bdd1a and hence it is
addressed in this change.

Change-Id: I40236efa31e1d832884984536597122c04ecc269
CRs-Fixed: 2668142
2020-04-22 21:51:53 -07:00
Abhishek Ambure
716952641d qcacld-3.0: Update max tx pwr allowed received from fw
Wlan firmware updates "max tx pwr allowed" to host in vdev start response
event and roam sync indication event. Host uses this value to update
power constraint ie in assoc request and TPC query response.

Host updates "max tx pwr allowed" value to firmware after association
completion, so that firmware uses the same max power to transmit mgmt and
data frames.

Change-Id: Ifd8d47fd830bd02bdde2633c22ea82820adf73a0
CRs-Fixed: 2652690
2020-04-21 07:54:28 -07:00
Aditya Kodukula
f1c3387ee4 qcacld-3.0: Add a feature flag WLAN_POWER_DEBUG for power stats
Power stats is moved from debugfs to sysfs, and hence add the feature
flag WLAN_POWER_DEBUG such that this feature can be compiled out for
low memory foot print drivers.

Change-Id: Ic395f393580fcd59faa4e4676f67a39ff37bdd1a
CRs-Fixed: 2665089
2020-04-18 05:00:54 -07:00
Srinivas Dasari
96b333e8a1 qcacld-3.0: Make max supported vdevs as 4
Currently, number of vdevs required can be configured through
the ini param gNumVdevs.
Firmware can accommodate maximum 4 vdevs and the ini param
gNumVdevs indicates the same.
If host driver is going to create vdev for NAN, it indicates
the total no.of vdevs supported to firmware which includes the
NAN vdev.
If firmware is going to create NAN discovery vdev, host should
indicate 3 vdevs and firmware shall add 1 vdev for NAN. So decrement
the num_vdevs by 1.

Change-Id: I9a4fc9ac3bf4ce62fa3388643e047a7a1d546f4d
CRs-Fixed: 2649478
2020-04-17 17:24:22 -07:00
Srinivas Dasari
11c907f867 qcacld-3.0: Consider host and firmware capa for NAN separate vdev
Firmware advertises the NAN separate vdev capability through
the service capability wmi_service_nan_vdev and host advertises
through the ini param nan_separate_iface_support. Both of the
capabilities must be checked to support the NAN separate vdev
support. Define an API to check both the capabilities and made
the individual capability APIs static. So that individual APIs
are not accessed outside this common API. Use this API to
know the support. This is to avoid any possible misses in
checking the support.
For example, NAN vdev id is fetched from the NAN enable
response message received from firmware only based on
firmware capability in nan_handle_enable_rsp. If firmware
supports the feature and ini is set to 0, then vdev id might
be invalid as it's fetched from the NAN enable response
without considering host capability. If either firmware or
host doesn't support NAN separate vdev feature, firmware
creates vdev and it may not fill the vdev id in NAN enable
response. Host shall use NAN_PSEUDO_VDEV_ID then.
So, consider NAN separate vdev feature as supported only if
both host and firmware support.
Also fetch the firmware capability to support NAN separate vdev
when wma_rx_service_ready_ext_event is received and update to NAN
psoc priv object.

Change-Id: I50e76fbe17befb28a5262fc26f5675b67f4d21f2
CRs-Fixed: 2650354
2020-04-17 17:24:13 -07:00