Commit Graph

1120 Commits

Author SHA1 Message Date
Min Liu
f7d6bc2675 qcacld-3.0: Move get_peer_info into cp_stats component
Move WMI_REQUEST_PEER_STATS_INFO_CMDID related statistics into
cp_stats component.

Change-Id: I636221b0bc0e28180c97cd269440a7c733716a1d
CRs-Fixed: 2680618
2020-08-14 04:12:10 -07:00
Kiran Kumar Lokere
09d979b3d1 qcacld-3.0: Use ROAM_11KV_CTRL cmd to enable/disable FW roaming
Use ROAM_11KV_CTRL WMI vdev command to enable/disable the roaming
functionality in FW.

Change-Id: If3bb344ec7058d4149d0064975d7c91f213fd105
CRs-Fixed: 2727671
2020-08-11 11:52:40 -07:00
Gururaj Pandurangi
4e68c1c28d qcacld-3.0: Add sanity checks in csr macro
Add sanity checks in csr macro CSR_IS_SESSION_VALID
before dereferencing roam session id

Change-Id: Ia17b515c95ba72d03d075fbf881698a82d7eec47
CRs-Fixed: 2747938
2020-08-07 02:53:08 -07:00
Yu Wang
e716703408 qcacld-3.0: refine the code for packetdump_timer
Enable packetdump_timer related operations only when
following conditions are met:
1. WLAN_LOGGING_SOCK_SVC_ENABLE is defined.
2. FEATURE_PKTLOG is defined.
3. REMOVE_PKT_LOG is not defined.

CRs-Fixed: 2747430
Change-Id: I47575ff184345884c47fe91922236bb4a3db420b
2020-08-06 22:52:02 -07:00
hqu
bc1e6476b7 qcacld-3.0: Move rso related process to connection manager [PART 3]
Add new code to implement below functions for connection manager
roam part:

Propagate 'Change-Id: I49d64671f74b86c516d286c4b2aad69eda744b52'
Filling below WMI cmd parameters related process:
WMI_ROAM_AP_PROFILE
WMI_ROAM_FILTER_CMDID

Change-Id: I4870c69a0e0ca1e8cad734a591f09e402b7a32fa
CRs-Fixed: 2745468
2020-08-01 11:02:13 -07:00
Kiran Kumar Lokere
222d174cdd qcacld-3.0: Add support to inject disassoc frames
Add support to inject disassoc frames with user configured pmf
options.

Change-Id: I40df805f8d6ef62dab48477c26cb9b0fc6b17929
CRs-Fixed: 2665042
2020-07-28 15:41:05 -07:00
Kiran Kumar Lokere
701a6b6358 qcacld-3.0: Add RRM beacon request support for MBSSID feature
Add RRM beacon request support for MBSSID feature.

Change-Id: Ibe0ce7c2b11b5ee4ee0b9bbe10c8c191e2d40897
CRs-Fixed: 2715104
2020-07-24 02:00:57 -07:00
Lincoln Tran
327afe4640 qcacld-3.0: Update from band_info to band bitmap
Currently the band_capabability from mlme_cfg is a bitmap over
reg_wifi_band. Update the checks so that it is compared with
a bitmap, instead of with band_info.

Change-Id: Ibad0231f1f6e5c555e6e5be5a5662fd26c549037
CRs-fixed: 2738440
2020-07-23 06:59:51 -07:00
Huashan Qu
7277418aa5 qcacld-3.0: Move rso related process to connection manager [PART 1]
Add macro ROAM_OFFLOAD_V1 for new code and implement below functions
for connection manager roam part:

csr_handle_roam_state_change() roam offload state related handler.
Filling WMI_ROAM_SCAN_RSSI_THRESHOLD cmd parameters related process.

Change-Id: I0351155ca5a3d68ade6568c7527c5708582ccf1a
CRs-Fixed: 2730826
2020-07-18 18:13:31 -07:00
Abhinav Kumar
c871ecddbd qcacld-3.0: Send roam triggers from vendor cmd to firmware
Userspace can configure different roam control params as
defined in qca_vendor_attr_roam_control through the roam subcmd
QCA_NL80211_VENDOR_SUBCMD_ROAM and the below attributes:
QCA_ATTR_ROAM_CONTROL_SCAN_FREQ_SCHEME
QCA_ATTR_ROAM_CONTROL_CONNECTED_RSSI_THRESHOLD
QCA_ATTR_ROAM_CONTROL_CANDIDATE_RSSI_THRESHOLD
QCA_ATTR_ROAM_CONTROL_USER_REASON

Send value of above attribute to fw through command
WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID for trigger
reason WMI_ROAM_TRIGGER_REASON_BTM_WTC.

Change-Id: I17502eebab56652192164144b7ebdadb32033117
CRs-Fixed: 2729119
2020-07-16 20:05:12 -07:00
Abhishek Ambure
5e1f7ea5d6 qcacld-3.0: Update self RSN caps to FW in RSO update/start cmd
Present source of self RSN capability to copy in RSO command i.e
csr_roam_session's rsn_cap is zero, A new capability OCVC (Operating
Channel Validation Capable) bit is in RSN capabilities. FW enables
OCV feature only if STA and AP both supports it.
Hence update self RSN capability to FW in RSO start/update command.

Change-Id: I1db500142560ec64a24ffab0c414c0c2b733e454
CRs-Fixed: 2721095
2020-07-12 05:17:18 -07:00
Pragaspathi Thilagaraj
eb128b5dfe qcacld-3.0: Add roam offload state machine changes
Add changes to handle transition to the 2 new states:
1. Roaming in progress: Switch to this state when roam
start notification is received from firmware.
2. Roam Synch in progress: Switch to this from RSO
STARTED state if roam synch indication event is received
from firmware. Change to this state is also allowed in
RSO STOPPED state if supplicant disabled roaming on that
vdev - to allow roam invoke to be processed.

Also query the state machine to get the roaming status instead
of using discrete flags at various layers. Clean the redundant
roaming in progress, roam synch related flags.

Change-Id: Ide20a30d9d8c20a96d8bba70367b51b8643cae09
CRs-Fixed: 2725443
2020-07-10 13:42:21 -07:00
Surabhi Vishnoi
1ce2688f28 qcacld-3.0: Add handler for WMI_VDEV_BCN_LATENCY_EVENTID
WMI_VDEV_BCN_LATENCY_EVENTID is sent by firmware when it receives
the latency IE from connected AP in beacon.

Add handler for this event and when latency_level received is ultra
low in latency IE, update request pm qos type PM_QOS_CPU_DMA_LATENCY
to level DISABLE_KRAIT_IDLE_PS_VAL to speed up CPU efficiency and
irq response. This is needed for Voice and Music products where extreme
low latency is needed while playing music and high power consumption is
accepted.

Change-Id: I3c63ef247f4f4a1add68111ef1bcee6daafd148a
CRs-Fixed: 2723205
2020-07-09 15:54:14 -07:00
Pragaspathi Thilagaraj
65c1c28045 qcacld-3.0: Add initial roam offload state changes
Rename the existing roam offload states to include
WLAN_ prefix. Add 2 new states:
WLAN_ROAMING_IN_PROG - Roaming has started at firmware, this is
                       after candidate selection at firmware.

WLAN_ROAM_SYNCH_IN_PROG - State after handoff is complete at
                          firmware.

Also move the roam_offload_state enum to connection manager.

Change-Id: Ib1f38d200393849253893113172cdfc69e381fb3
CRs-Fixed: 2725387
2020-07-09 03:03:39 -07:00
Abhishek Singh
4b9273d712 qcacld-3.0: use crypto from vdev to fill the scan filter
use crypto from vdev to fill the scan filter.

Change-Id: I2c4bd9b85d9dac14c4d331a84cc7f3307d06818d
CRs-Fixed: 2718080
2020-07-08 00:09:34 -07:00
Pragaspathi Thilagaraj
750e889d9e qcacld-3.0: Send vdev pcl command when STA + STA roaming is active
Send Vdev pcl command on both connected STA vdev when sta+sta
roaming is enabled. Handle below cases:
1. When 1st STA is connected send PDEV pcl command for the
first sta. Set pcl_vdev_cmd_active false.
2. When 2nd STA comes up, Set pcl_vdev_cmd_active to true,
send vdev PCL for 1st sta before enabling roaming(disabled
as part of the connect on 2nd STA).
3. For second STA force dbs connection when
enable_dual_sta_roam_offload ini is enabled. Set the channels
of the 1st connected STA band as invalid and remove these
channels from the scan filter.
4. On disconnection of 2nd STA connection, clear the vdev
PCL sent for 1st STA and then send PDEV pcl command.

Also make changes to send set PCL command after roam init
is done before RSO start is done at firmware to avoid assert.
Post set pcl command from sme/csr through lim/wma/wmi to avoid
the above condition.
Disable roaming on the vdev before sending set PCL command to
avoid roaming on undesirable band & channels.

Change-Id: I6bd869015b7248fe5c5c90b6e2fa0174995be197
CRs-Fixed: 2725360
2020-07-07 16:23:06 -07:00
Rakesh Pillai
f5f6cb8ed9 qcacld-3.0: Upgrade UDP qos based on user setting
Provide the support to upgrade the priority of
UDP packets based on user setting. The user will
set a particular QoS and for any UDP packets, which
has priority lesser than the current setting, the
QoS will be upgrade to the user set value.

The default value for this setting will be Best Effort.

Change-Id: I64207797e9c000d1d6fb757e22b02ee4f96a36f1
CRs-Fixed: 2724041
2020-07-06 05:35:12 -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
Pragaspathi Thilagaraj
bbe3ab0934 qcacld-3.0: Set roam invoke in progress to false on HO failure
When roam invoke fails during handoff, firmware sends HO failure
indication to host. Here the roam_invoke_in_progress flag is not
cleared.

Clear the roam_invoke_in_progress flag when fastreassoc fails
due to handoff failure at firmware.

Change-Id: Ifc0ade939980138f64013299a9ea4e97468ce00f
CRs-Fixed: 2715281
2020-06-23 06:26:19 -07:00
Lincoln Tran
ffd5db1bb9 qcacld-3.0: Add API to convert phymode types
Convert CSR phymode to regulatory phymode and back. Regulatory
phymode enum contains fewer fields than eCsrPhyMode enum so a
conversion API is needed.

Change-Id: I4b962c07a917d19fa4ae51c78befae507dabf80f
CRs-fixed: 2658294
2020-06-07 12:28:54 -07:00
Subrat Dash
f9d6d9d65e qcacld-3.0: Handle EDCA tx queue confguration from hostapd
The hostapd sends the EDCA configuration for tx queue set in the
hostapd.conf config file using nl80211 interface.

Add support to extract the configuratin in the cfg80211 callback
function wlan_hdd_set_txq_params and invoke SME api to send the
parameters to MAC layer.

CRs-Fixed: 2693865
Change-Id: I8acfc03d9a6ad17a1df0c03955cf3b4150a4fbef
2020-06-05 00:48:24 -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
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
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
gaurank kathpalia
7ff0f92346 qcacld-3.0: Remove IBSS related INI and CFG
Remove IBSS related INI and CFG.

Change-Id: Iedebb858448d900bf4909fe5cafc2092baa60285
CRs-Fixed: 2687119
2020-05-19 07:22:08 -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
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
gaurank kathpalia
0907e9f8b3 qcacld-3.0: Cleanup IBSS in CSR layer
Cleanup IBSS related code from CSR/SME layer.

Change-Id: I4a15b0c59b55382ffb6a5c67049a6b24e3e00cbe
CRs-Fixed: 2685889
2020-05-14 07:04:53 -07:00
Lincoln Tran
9faaae1bb7 qcacld-3.0: Cleanup instances of CFG_COUNTRY_CODE
Remove instances of CFG_COUNTRY_CODE and country_code from
wlan_mlme_reg struct.
Remove redundant country code APIs.

This change is needed because the country code is no longer
stored in CFG file, and subsequently, there is no need for
CFG_COUNTRY_CODE.

Change-Id: Ia4b3b40d0dccfde696352967f2902dfba344a445
CRs-Fixed: 2634079
2020-05-08 18:50:54 -07:00
Utkarsh Bhatnagar
83a3de0def qcacld-3.0: Remove unused PMF code
PMF logic is moved to crypto so remove unused PMF code.

Change-Id: I141a7683879da8f1961183db6dd26285c7bf4c4a
CRs-Fixed: 2678890
2020-05-06 01:26:38 -07:00
Abhinav Kumar
d0a51da88b qcacld-3.0: Don't send disassoc frame to fw in case of HO failure
In the case of roaming failure, FW sends HO fail indication to host
and initiates peer deletion in fw. Host should not queue deauth
frame to fw in case of HO_FAILURE.

Due to commit id I99bf4573b59dc810e0a1529fcd48061d10acae4e, host
sends a disconnect request to fw as part of HO failure handler.
There could be a possibility that host queue disconnection frame
after the vdev down in fw. This leads to assert in fw.

Fix is to set process_ho_fail variable in disassociation request
to true in case of ROAM_FAILURE. This flag tells LIM whether to
send the disassoc req OTA or not.

Change-Id: Ia504ff3ba8b07fcf66226b588eed379a71e2b896
CRs-Fixed: 2674297
2020-04-30 16:36:38 -07:00
Gururaj Pandurangi
033dd6a5f6 qcacld-3.0: Address copyright header format
Address the incorrect Linux Foundation copyright
format in the copyright header.

Change-Id: I8921be98f1d837018ec2dfdf785fb314fd407207
CRs-Fixed: 2668480
2020-04-28 05:41:42 -07:00
nshrivas
f44ba90a0b qcacld-3.0: Remove sta_sap_scc_on_dfs_chan
sta_sap_scc_on_dfs_chan isn't used in the module.
Hence, Removed from mac_context and csr_config_param.

Change-Id: I10321c26d2244b3619b062a04f73f57105a81685
CRs-Fixed: 2666696
2020-04-22 02:14:58 -07:00
Utkarsh Bhatnagar
77f65f02ba qcacld-3.0: Remove dual_mac_feature_disable
dual_mac_feature_disable isn't used in the module.
Hence, Removed from mac_context and csr_config_param.

Change-Id: If85fdbc93b8bfafd6dea694efc5847aa4d5abc42
CRs-Fixed: 2666569
2020-04-19 15:26:21 -07:00
Pragaspathi Thilagaraj
ecec2d5b28 qcacld-3.0: Don't send RSO update after receiving set pmksa command
When set_pmksa command is received from userspace, the internal
pmk table is updated with the new bssid entry and the pmk is saved
to the session. Additionally this update triggers an RSO update
command to the firmware which causes the use of stale pmk for
single pmkid case, in which the BSS capability of SAE single pmk
will be known only after parsing the beacon/probe received in the
roam synch indication.

So donot send RSO update on receiving set pmksa command.

Change-Id: I25419fbc3061ab963ccf3228b3681c83773a7963
CRs-Fixed: 2659055
2020-04-19 07:00:28 -07:00
Ashish Kumar Dhanotiya
1ad7188e72 qcacld-3.0: Add support to cache he operation info
Currently if station is connected in 11AX mode, AP's HE
IE is not getting updated in the cache information of the
station.

Add support to update HE operation element in the connection
info structure of the station context.

Change-Id: I214d6cec22525788e9ce21a7d832263148989715
CRs-Fixed: 2656005
2020-04-18 11:04:10 -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
Ashish Kumar Dhanotiya
e98592f479 qcacld-3.0: Add serialization command to get disconnect stats
Currently for SAP case on the disconnection with the
client, host driver sends get stats command for the
disconnected peer to the FW and proceeds with the peer
deletion. There is a race condition where if the peer
gets deleted in the object manager before FW sends the
requested stats in that case host driver drops the
response from the FW.

To resolve above issue send the get stats request command
in serialization before peer delete command gets serialized
which will ensure that get stats response is processed
before peer delete in the object manager.

Change-Id: I1aa4be329a06e261222c0f9dccc36e08bd6b137a
CRs-Fixed:  2656842
2020-04-16 16:19:15 -07:00
Rajeev Kumar
1a9632c7a0 qcacld-3.0: Clean up remaining references of WLAN_POWER_DEBUGFS
Power stats is moved from debugfs to sysfs as part of commit
I10df003fe8f79d35d0758b56d971f4973d27750b and hence remove
the remaining references of WLAN_POWER_DEBUGFS.

Change-Id: Iba29387ab93740595560e068e4bd4ede8efafbc9
CRs-Fixed: 2661078
2020-04-14 09:00:15 -07:00
Bapiraju Alla
5e23b7cfd7 qcacld-3.0: Add param for OCL mode configuration
Currently there is no provision to configure OCL mode in FW during
driver bootup.

To enable this configuration add a new INI configuration parameter
gOclCfg.

Change-Id: I87c9131f5395c394f745e0170f0d9b3d1571d030
CRs-Fixed: 2644312
2020-04-02 00:11:32 -07:00
Bapiraju Alla
08410b2625 qcacld-3.0: Fix return type for scheduler_msg callbacks
This fixes a CFI failure in callback assignment

Change-Id: I01fbd8cb65f8e33a66065d29d1aab983647a40ac
CRs-Fixed: 2651013
2020-03-31 09:58:13 -07:00
gaurank kathpalia
ec1bd31ce7 qcacld-3.0: BIGTK feature support
BIGTK feature support

Change-Id: Ide9b0db436e43152a4180a460f21a7340b443756
CRs-Fixed: 2648269
2020-03-30 13:38:54 -07:00
Pragaspathi Thilagaraj
24c7af6849 qcacld-3.0: Add null check for frequency list in rrm scan done callback
When multiple measurement requests are received in a single beacon
report request, multiple iterative scans are triggered for each
request for the frequency list provided in the request. This results
in free of rrm context global frequency list by the second
request rrm scan in the iter measurement timer start failure path
and was accessed by the scan done callback of the 1st measurement
request.

Add null check for rrm context frequency list and also if the
timer is already running, send measurement done indication for
that request.

Change-Id: I149ba47872095228595cd52535fb76c422eefba7
CRs-Fixed: 2648618
2020-03-29 17:39:54 +05:30
Pankaj Singh
7bb841afbd qcacld-3.0: Add wait for vdev up operation completion in Monitor mode
During set channel request for monitor mode vdev start is triggered.
The vdev operation is completed only when vdev up is send to FW.
Wlan driver does not wait for completion of the vdev up operation
and after posting set channel request context is returned to supplicant.
Supplicant sends vdev stop operation for montior mode which results in
vdev up command sending to FW after vdev stop.

Fix, is to wait for completion of vdev up operation, then return the
context to supplicant.

change-ID: I33d7f9f85848b74d1206cff145e27ca2d96580a0
CRs-Fixed: 2627239
2020-03-27 08:10:35 -07:00
Arun Kumar Khandavalli
68c99e72e7 qcacld-3.0: Send vdev delete to firmware on notification
Presently vdev delete is sent to firmware 1st and the object manager
vdev delete is deleted after all the references are released.
With this change the vdev delete is sent to firmware when all the
references are released and the vdev delete is sent to firmware via
the object manager vdev delete notification.

Change-Id: I67bea0d2b2a0d2d9eb4602e5d0b8bbdcafdd4d26
CRs-Fixed: 2618278
2020-03-11 09:36:23 -07:00
Pragaspathi Thilagaraj
1229e319b0 qcacld-3.0: Delete pmk entry from crypto table on assoc reject
Currently when association reject with reason code 53(invalid
pmkid) is received from the AP, then we delete the pmksa entry
for that AP from csr_session, but with converged crypto component,
the entry needs to be deleted from the crypto pmk table.
Else when associating to the same AP again, driver will use the
stale pmk for the AP again.

Delete the pmk entry from crypto pmk table when association
reject is received from AP with reason code 53.

Change-Id: I54f4a7ee7e02d35e0560bfad9fe2e3466aaa361d
CRs-Fixed: 2636570
2020-03-10 18:54:34 -07:00
Abhishek Singh
d79a6bd8d0 qcacld-3.0: Remove unused scan params
Remove unused params from struct tag_csrscan_result and
struct csr_config.

Change-Id: Idec036e8fb60752905e0c1d291713ca5e6ea2aad
CRs-Fixed: 2634391
2020-03-05 07:09:36 -08:00
Abhinav Kumar
fa7afb9c0f qcacld-3.0: Add pmksa based on SSID and cache id
For FILS pmksa cache, the pmksa add/del/query is based on SSID
and cache id.
1. Add SSID/Cache ID to pmksa cache using pmksa API.
2. Set PMK to csr session if PMK is present, PMK will be sent
to FW in RSO command.

Change-Id: I88a3e70a50565300ebab9723b439ee7674788b55
CRs-Fixed: 2621846
2020-02-26 06:41:45 -08:00
Abhinav Kumar
267ed0068e qcacld-3.0: Clear same pmk info while processing del/flush pmk
Clear sae_single_pmk info while processing del/flush pmk command
from supplicant, if required.

Change-Id: Idd974822ef0426461cd9971e54d8244d64b246b5
CRs-Fixed: 2616036
2020-02-26 06:41:25 -08:00