Commit Graph

171 Commits

Author SHA1 Message Date
Gururaj Pandurangi
c199935f4b qcacld-3.0: Add checks to handle return value from crypto APIs
Add checks in caller APIs to handle negative return value from
crypto get param and crypto get peer param APIs.

Change-Id: Ibb138971f347c7ccdacbc93aa38521d5d9536759
CRs-Fixed: 2775328
2020-09-12 08:17:11 -07:00
Lincoln Tran
22301fc573 qcacld-3.0: Migrate PCL API to policy manager
Currently, the APIs related to setting the preferred channel list is
in the SME module. Move these APIs to the policy manager so they can
be accessed from non-legacy modules.

Change-Id: Icc487dd2a0014e59db9c2df729b875f58e3e975e
CRs-fixed: 2766863
2020-09-11 23:39:34 -07:00
Abhinav Kumar
aad917a899 qcacld-3.0: Remove unused INI gFirstScanBucketThreshold
Currently INI: gFirstScanBucketThreshold is not used
while LFR2/LFR3 roaming.

Remove unused INI gFirstScanBucketThreshold

Change-Id: Ifa909fc57d3ac3da696369fcffc390826f393b44
CRs-Fixed: 2767372
2020-09-01 22:20:38 -07:00
Liangwei Dong
34197fc832 qcacld-3.0: Increase sae max auth retry count to 3
Increase max sae auth frame retry count to 3 since total SAE auth
timeout is 5s.

Change-Id: I5902cc3411f713eaeed5ef7754fe7fe8e590b459
CRs-Fixed: 2765211
2020-08-31 01:37:14 -07:00
hqu
28418b167b qcacld-3.0: Move rso related process to connection manager [PART 8]
Move below two changes from legacy to connection manager:
'Change-Id: If3bb344ec7058d4149d0064975d7c91f213fd105',
'Change-Id: I39a84d06b9c696179da1b854985a23b874a399c5'

Change-Id: I33921497d966f08a0ca476a373cfe6527888ca39
CRs-Fixed: 2765469
2020-08-29 12:24:56 +05:30
gaurank kathpalia
f955b44a6d qcacld-3.0: Enable/Disable SRD support for vdev
Currently the driver enables the SRD channels
support for both P2P_GO and SAP if the SRD master
mode is enabled.

Have individual ini values to enable/disable
the SRD channel for each op-mode as required.

Change-Id: If6e66996ed19dacbde7f71a6702f378a7e9a273c
CRs-Fixed: 2748446
2020-08-27 18:36:55 -07:00
Liangwei Dong
cc9cbfc8de qcacld-3.0: Fix STA+SAP SCC on DFS when sta_sap_scc_on_dfs_chan = 0
When sta_sap_scc_on_dfs_chan = 0, SAP is not allowed to SCC
with STA on DFS channel. Check the SAP target channel DFS flag
considering the target channel bandwidth.

Change-Id: I321c1055574477fe39ca8569f24a4040c8dc1904
CRs-Fixed: 2756518
2020-08-24 03:58:57 -07:00
hqu
f996a7c696 qcacld-3.0: Move rso related process to connection manager [PART 7]
Add new code to implement below functions for connection manager
roam part:
Filling below WMI cmd parameters related process:
WMI_ROAM_CONFIGURE_MAWC_CMDID
WMI_ROAM_BSS_LOAD_CONFIG_CMDID

Rename file wlan_cm_roam_public_srtuct.h name to
wlan_cm_roam_public_struct.h

Change-Id: I64d54bb78b71dadc49d119b9083658347cc4f807
CRs-Fixed: 2758130
2020-08-20 15:42:04 -07:00
Abhishek Ambure
ab079ed334 qcacld-3.0: Add ini to enable/disable WLS 6ghz support
Host sends the WLAN_MSG_WLAN_STATUS_IND to WiFi Location Service(WLS) via
cnss daemon which includes supported channels. WLS service is yet not 6GHz
capable. Hence to limit the 2.4GHz/5GHz channels only in
WLAN_MSG_WLAN_STATUS_IND introduce new INI "wls_6ghz_capable".

Change-Id: I77b284d2025601fec72aa35d430f18865f15f247
CRs-Fixed: 2748489
2020-08-07 02:53:12 -07:00
hqu
e6dec862e4 qcacld-3.0: Move rso related process to connection manager [PART 5]
Add new code to implement below functions for connection manager
roam part:
Filling below WMI cmd parameters related process:
WMI_11K_OFFLOAD_REPORT_CMDID
WMI_ROAM_DEAUTH_CONFIG_CMDID
WMI_ROAM_IDLE_CONFIG_CMDID

Change-Id: I346b921a6f378e7c4d8860acd7c3bec45a0b9d3a
CRs-Fixed: 2749430
2020-08-06 16:39:57 -07:00
Ashish Kumar Dhanotiya
e20db7ae44 qcacld-3.0: Add ini to retain the NOL across reg domain change
Currently driver sets the NOL state of the channels to false
on every regulatory updated, which indicates the channel is
not in NOL. Which may lead to some issues where the channel
is actually in NOL but host treats it as non-NOL channel.

Ideally NOL list should be maintained throughout the driver
lifetime and across the regulatory changes.

To address this issue add a logic to not update the NOL state
of the channels whenever the regulatory update is received.

CRs-Fixed: 2744916
Change-Id: If96b22ab29a60a2aa752bbf01aaae46fc37362eb
2020-08-05 09:04:01 -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
Pragaspathi Thilagaraj
ab09be7729 qcacld-3.0: Refactor roam scan sub-reason string
Add changes to include new roam scan sub-reasons in host driver
roam logging and refactor few existing string.
Below are the new reasons:
WMI_ROAM_TRIGGER_SUB_REASON_LOW_RSSI_PERIODIC
WMI_ROAM_TRIGGER_SUB_REASON_INACTIVITY_TIMER_LOW_RSSI
WMI_ROAM_TRIGGER_SUB_REASON_PERIODIC_TIMER_AFTER_INACTIVITY_CU
WMI_ROAM_TRIGGER_SUB_REASON_PERIODIC_TIMER_AFTER_INACTIVITY_LOW_RSSI
WMI_ROAM_TRIGGER_SUB_REASON_INACTIVITY_TIMER_CU

Change-Id: I1aeb48d29561b48ac7b8762626fa0050f4fb9030
CRs-Fixed: 2742558
2020-07-31 16:26:22 -07:00
Gururaj Pandurangi
c66e0c9b04 qcacld-3.0: Enable 5.9 ghz channels for US
Add new channel 177 to wiphy struct ieee80211_channel
hdd_etsi13_srd_ch and rename the struct to
hdd_5dot9_ghz_ch.
Add a new ini fcc_5dot9_ghz_chan_in_master_mode to
enable/disable new 5.9 GHz channels 169, 173 and 177
in master mode.

Change-Id: I68dc3be18277ca0e416a579327f406279458899e
CRs-Fixed: 2693707
2020-07-23 17:23:55 -07:00
hqu
f36840cce8 qcacld-3.0: Move rso related process to connection manager [PART 2]
Add new code to implement below functions for connection manager
roam part:
WLAN_ROAMING_IN_PROG/WLAN_ROAM_SYNCH_IN_PROG related handler.
Filling below WMI cmd parameters related process:
WMI_VDEV_PARAM_BMISS_FIRST_BCNT
WMI_VDEV_PARAM_BMISS_FINAL_BCNT
WMI_VDEV_PARAM_ENABLE_DISABLE_ROAM_REASON_VSIE
WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID
WMI_ROAM_SCAN_PERIOD

Change-Id: I28439393a57c72012f9de51f24050f95366294bc
CRs-Fixed: 2738353
2020-07-23 06:59:59 -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
87a292e54a qcacld-3.0: Print BTM RSP and initial roam info in kmsg
The event WMI_ROAM_STATS_EVENTID is received after
every roam, once the roam synch complete is sent by the host.
This event contains details regarding the btm response.

This helps in debugging/understanding the scenario when roam
failure happens.

Print the info received related to btm rsp and roam initial
info into kmsg.

Change-Id: Icb2058eed5df3265018b3c53548d123f3a4faf4f
CRs-Fixed: 2728267
2020-07-16 20:05:07 -07:00
Lincoln Tran
1de7a9a643 qcacld-3.0: Update band_capability INI to use bitmap
The band_capability field is used in other places to be
a bitmap over reg_wifi_band. Update the field in wma_tgt_cfg and
wlan_mlme_generic to take the same bitmap for consistency.
Update all references to these fields to expect a bitmap as well.

Change-Id: I8abd697e2fbe02b4eadd32f3027bef7408bac2a0
CRs-fixed: 2726710
2020-07-15 01:46:30 -07:00
Srinivas Girigowda
8cf89cb514 qcacld-3.0: Replace obsolete WMA_LOGE() with wma_err()
Replace obsolete WMA_LOGE() macro with wma_err().

Change-Id: Iaf11baa0f09cfb090806527184c6137f8b950aa8
CRs-Fixed: 2723709
2020-07-14 02:02:27 -07:00
Abhishek Ambure
fbdde4785a qcacld-3.0: Add ini to enable sae auth/assoc retry
Introduce new INI sae_connect_retries to decide auth (initial connect
and roam auth) and connect retry for sae. MAX reties is capped to 2
and max for roam auth is 1.
Default is 0x49 i.e. 1 retry each.

Bits       Retry Type
BIT[0:2]   AUTH retries
BIT[3:5]   Connection reties
BIT[6:8]   ROAM AUTH retries

Change-Id: Idae86a7bdb32244c7f3a140b8591418b8238758a
CRs-Fixed: 2728458
2020-07-12 10:10:20 -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
gaurank kathpalia
ce6aed0852 qcacld-3.0: Add ini to enable/disable dynamic cfg
Currently the driver supports the dynamic
configuration of nss and chain to FW for
VDEV if the FW advertises the capability
of supporting the same. However there is
no support to overide this.

Fix is to have an ini to enable/disable
this feature of configuring the dynamic
nss and chains to FW.

Change-Id: I0b84bb5aec53966a43a00c11d4aba3863414005c
CRs-Fixed: 2708303
2020-06-23 20:03:22 -07:00
Abhishek Ambure
3118d4c038 qcacld-3.0: Add support for ESS RSSI roam trigger reason
In the beacon, ESS report element gives the information of a BSS
that station learns and uses for roaming. Hence enable BIT(16)
ROAM_TRIGGER_REASON_ESS_RSSI of "roam_triggers" INI.

Change-Id: I47f35c3fad640054a54ccb3874475a1c59b51489
CRs-Fixed: 2688522
2020-06-12 23:33:21 -07:00
Utkarsh Bhatnagar
8dc550caba qcacld-3.0: Change prior conditions required for chainmask
Change the prior conditions required for configuring Rx Chainmask &
Tx Chainmask.
Below conditions should be met for setting chainmask:
1. Antenna sharing should be disabled.
2. If gEnable2x2 is 1 then enableBTChainSeparation must be 1
   else gEnable2x2 should be 0.
3. DBS should be disabled (gDualMacFeatureDisable = 1)
   or HW should be DBS 2x2 capable
4. set TX/RX chainmask 3 in ini (gSetTxChainmask1x1/gSetRxChainmask1x1)
5. HW should support TX/RX chainmask as 3

Change-Id: If83c55af47abb591cdf1b5d2e3981d80bc305bf2
CRs-Fixed: 2705520
2020-06-10 07:25:58 -07:00
Utkarsh Bhatnagar
0a61d6462b qcacld-3.0: Implemented Chainmask NL command
Implemented driver interface for NL command for setting
and getting TX and RX chains. The chains can be set to
either chain 0(1) or chain 1(2) or both(3). This is only valid if
antenna mode is set to 2X2.

Below command can be used to set the chainmask:
iw phy <phyname> set antenna <bitmap> | all | <tx bitmap> <rx bitmap>
Example:
iw phy0 set antenna 1   -- to set both Tx and Rx chain 0.
iw phy0 set antenna all -- to set all/both chains for rx/tx
iw phy0 set antenna 1 2 -- to set chain 0 for tx and chain 1 for rx

Below command can be used to get the chainmask after set:
iw phy <phyname> info

check for "Configured Antennas: TX 0x1 RX 0x1"

Below conditions should be met for setting chainmask:
1. Antenna sharing should be disabled.
2. gEnable2x2 in ini file should be 0
3. enableBTChainSeparation in ini file should be 1
4. DBS should be disabled (gDualMacFeatureDisable = 1)
   or HW should be DBS 2x2 capable
5. set TX/RX chainmask 3 in ini (gSetTxChainmask1x1/gSetRxChainmask1x1)
6. HW should support TX/RX chainmask as 3

Change-Id: I04f6667398eac405a6be61bc039e048090578abf
CRs-Fixed: 2693370
2020-05-28 17:28:40 -07:00
Utkarsh Bhatnagar
17b2fc57d7 qcacld-3.0: Remove unused CFG CFG_RMC_ACTION_PERIOD_FREQUENCY
RMC is IBSS specific and CFG_RMC_ACTION_PERIOD_FREQUENCY is not used
now so remove the same

Change-Id: Icafff4bd7eb508d92c383861300146e3a0f2def7
CRs-Fixed: 2689882
2020-05-19 14:47:05 -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
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
Nirav Shah
5537b67b89 qcacld-3.0: Update rx ldpc capability based on ini configuration
Update rx ldpc capability based on ini
configuration(gEnableRXLDPC).

Change-Id: Ic160850f4fbba19a8faebc7f0c0545f21834de93
CRs-Fixed: 2677946
2020-05-13 21:07:14 -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
Bapiraju Alla
a1be470895 qcacld-3.0: Validate mlme_obj in wlan_mlme_update_oce_flags
Add sanity check for mlme_obj in wlan_mlme_update_oce_flags to avoid
illegal memory access when mlme_obj is not valid.

Change-Id: I7dfd72cc704d3f9c11241fb2217f0b2ab7eda3d3
CRs-Fixed: 2669262
2020-04-27 19:51:17 -07:00
gaurank kathpalia
3935335687 qcacld-3.0: Start the SAP if force SAP ini is set
Currently, the driver trims the channel list with
the PCL if external acs policy ini is set, and
if the channels are unsafe then that can lead
to 0 channels and the SAP can fail.

Fix is to check whether the force SAP start ini
is set and override the channel.

Change-Id: If245bf27deda0f6022343d7a175520fdd92d106b
CRs-Fixed: 2667742
2020-04-23 11:32:14 -07:00
Utkarsh Bhatnagar
bc3f1bfbb8 qcacld-3.0: Changed the CFG_HE_TRIG_PAD default value to 16 us
Made the default value to advertise trigger frame padding
duration as 16 us so as to honor HE MAC capabilities sent by FW

Change-Id: I1bf75965f1b9b46d61c94997273621a6e9de46c1
CRs-Fixed: 2667623
2020-04-22 02:14:17 -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
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
4281eb0f89 qcacld-3.0: Increase roam failure reason buffer size
Increase the roam failure reason string buffer size to
60 from 50.
Also add reason string for roam failure reason.

Change-Id: I42f4332463e4063aa0dee39631ca31965db12b62
CRs-Fixed: 2647260
2020-03-26 18:26:02 -07:00
Sourav Mohapatra
698d9392c3 qcacld-3.0: Add Q-Q feature 4K QAM (MCS12/MCS13) support
Add host driver support for MCS 12/13, a Q-Q PHY feature.
The following changes are being introduced as a part of this
 - Advertisement of the MCS 12/13 using the QCN IE
 - Interaction between the Host and the FW regarding the target and
   peer capabilities for the new features introduced.
 - The new data structures and variables to populate and use the feature
   capability
 - Routines to add and parse the IE.

Change-Id: I2b91a271d30b1230ef7bb14ee08d0b9da2706db4
CRs-Fixed: 2610277
2020-03-24 10:23:48 -07:00
Abhinav Kumar
504fb78c41 qcacld-3.0: Clear sae_single_pmk info while processing del pmk
In wlan_mlme_clear_sae_single_pmk_info, driver clears sae_single_pmk
locally while processing del/flush pmk command from supplicant.

Driver should clear entry for sae_single_pmk mlme priv objects.

Fix is to clear entry for sae_single_pmk in mlme priv objects.

Change-Id: Iee71a1a86e293a1028e9b4003d5a48c72d19a8f4
CRs-Fixed: 2636662
2020-03-23 16:06:34 -07:00
Pragaspathi Thilagaraj
5feee1adc0 qcacld-3.0: Add new roam failure reason string
Add string conversion for the below new roam failure reasons
introduced:
WMI_ROAM_FAIL_REASON_NO_SCAN_FOR_FINAL_BMISS
WMI_ROAM_FAIL_REASON_DISCONNECT
WMI_ROAM_FAIL_REASON_SYNC
WMI_ROAM_FAIL_REASON_SAE_INVALID_PMKID
WMI_ROAM_FAIL_REASON_SAE_PREAUTH_TIMEOUT
WMI_ROAM_FAIL_REASON_SAE_PREAUTH_FAIL
WMI_ROAM_FAIL_REASON_UNABLE_TO_START_ROAM_HO

Change-Id: Ia598723a25bcf9e223828f50b714968698ffd917
CRs-Fixed: 2638593
2020-03-14 05:16:53 -07:00
Abhishek Ambure
48b790c62d qcacld-3.0: Add INI support to disable STA roaming
Use INI "sta_disable_roam" to disable roaming on STA interface if
connection on other interfaces ex. p2p, ndp comes up. Each bit of
the INI "sta_disable_roam" represents an interface.
ex. LFR3_STA_ROAM_DISABLE_BY_P2P BIT(0)
    LFR3_STA_ROAM_DISABLE_BY_NAN BIT(1)

As INI "sta_disable_roam" is generic for all the interfaces, cleanup
for INI "p2p_disable_roam" done.

Change-Id: Icd05a97c640ca07978d9960a33de036ed6fe38df
CRs-Fixed: 2637555
2020-03-13 19:22:14 -07:00
Srikanth Marepalli
f8d599b48d qcacld-3.0: Add INI support for DFS Channel Ageout Time
Add ini support for DFS Channel Ageout Time, the time upto which
DFS channel information such as beacon found is remembered.
This ini is used to set the ageout timer value from host to FW.
If not set, FW will disable ageout time.
This value is sent as a WMI_PDEV_PARAM_SET_DFS_CHAN_AGEOUT_TIME
as part of WMI_PDEV_SET_PARAM_CMDID.

Change-Id: I99553fa87a4025f03c52b4b387a414ba06c2c457
CRs-Fixed: 2625996
2020-03-06 02:41:16 -08:00
Pragaspathi Thilagaraj
63eb6363dc qcacld-3.0: Introduce ini for roam_triggers including sta kickout trigger
Introduce ini for roaming_triggers to enable/disable specific
roaming triggers. This will be the master ini to control roaming
triggers. If this ini is set to zero, roaming will not be enabled
on the sta interface unless its enabled via vendor command.
A new roaming trigger - Sta kickout roaming is introduced in
firmware, include this bit support also in the ini.

The value of this ini will be sent over the wmi command
WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID during RSO start.
Reset this value to 0 during RSO stop if RSO stop is due to
disconnect or roam synch failure.

Change-Id: I02f207cdde9d8fb68cd91fab07572baa9e7ac50d
CRs-Fixed: 2631712
2020-03-02 19:12:34 +05:30
sheenam monga
56b4d46146 qcacld-3.0: Include/Exclude roam reason dynamically in reassoc frame
Currently, if roaming happens roam reason is not sent to AP. AP will
not able to know why roaming happened. As roaming is offloaded to
firmware, firmware will include roam reason vsie based on driver
indication by vdev param
WMI_VDEV_PARAM_ENABLE_DISABLE_ROAM_REASON_VSIE based on
below conditions:

Parse the QCA attribute CONFIG_ROAM_REASON to control
inclusion/exculsion of roam reason vsie dynamically. Vendor subcommand
QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION can control roam
reason vsie inclusion using QCA atrribute CONFIG_ROAM_REASON.
Different operations required to implement this feature can be
specified in QCA_WLAN_VENDOR_ATTR_CONFIG_ROAM_REASON, so driver parses
CONFIG_ROAM_REASON, updates enable_roam_reason_vsie and indicates to
firmware by updating vdev param.

a.) If Userspace wants the firmware to include roam reason in reassoc
    frame, it can send QCA_WLAN_VENDOR_ATTR_CONFIG_ROAM_REASON with
    value 1 and driver will update enable_roam_reason_vsie  to 1.
    Driver will update vdev parameter
    WMI_VDEV_PARAM_ENABLE_DISABLE_ROAM_REASON_VSIE, so that firmware
    can include roam reason vsie in reassoc frame during roaming.
b.) If this command is not issued, the default behavior of the
    firmware is not to include err reason code in beacon report
    response. Driver will send default value of
    enable_roam_reason_vsie to firmware which is 0.
c.) The userspace requests the firmware to stop roam reason vsie
    reporting when roam reason is not required for AP anymore. If
    userspace doesn't want the roam reason  inclusion, userspace can
    send QCA_WLAN_VENDOR_ATTR_CONFIG_ROAM_REASON with value 0 and
    driver will update enable_roam_reason_vsie and notify firmware to
    exclude roam reason.
If userspace requests the driver to get the status of
enable_roam_reason_vsie , to check whether firmware includes roam
reason vsie or not, driver will fill CONFIG_ROAM_REASON attribute and
will update to userspace.

Change-Id: I063c822e99fd6908bd4188b429ffa6a2031cee5d
CRs-Fixed: 2624713
2020-02-29 05:20:40 -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
Abhinav Kumar
8747fd098c qcacld-3.0: Update sae_single_pmk info in RSO start command
Requirement is to allow station to just keeps only one
PMK1 and PMKID1 which gets derived while first connection
and re-use it for roaming to other AP which has some
specific VSIE.

To support this feature, STA should Set new flag in 11i
params during RSO start/update when initial connection is
completed based on the VSIE in AP beacon/probe response
frame. This flag will allow fw to roam to AP(s) which has
VSIE with single PMK.

Update PMK info in RSO start command with
sae_single_pmk info if initial connection is completed
with AP contains VSIE.

Change-Id: I839b48da48f92f24444e69405d87560186d7f986
CRs-Fixed: 2616029
2020-02-26 06:40:55 -08:00
Abhinav Kumar
c71e678b18 qcacld-3.0: Add support for sae roaming with single PMK
Requirement is to allow station to just keeps only one
PMK1 and PMKID1 which gets derived while first connection
and re-use it for roaming to other AP which has some
specific VSIE.

To support this feature, STA should:
1. Set new flag in 11i params during RSO start/update when
initial connection is completed based on the VSIE in AP
beacon/probe response frame. This flag will allow fw to roam
to AP(s) which has VSIE with single PMK.
2. STA should dynamically enable this feature if below
vendor specific IE on AP’s Beacon or Probe Response at
the first connection:
Category 	Data
Type 		0xDD
Length 		0x05
OUI 		0x00 40 96
Type 		0x03
Data 		Don’t care
		(EX, 0x05)

Maintain a separate pmk information structure to support sae
roaming using single pmk.

Change-Id: I0aac7659cecd4d8aaff86c9715e512cf46f22615
CRs-Fixed: 2616035
2020-02-26 06:40:44 -08:00
Sourav Mohapatra
eb7227cc06 qcacld-3.0: Add param to configure channel avoidance indication from FW
Currently, when WWAN channel changes, the list of WLAN channels that
needs to be avoided is given to WLAN FW. WLAN FW indicates the list
to host. Upon receiving Channel avoidance indication, host switches
the operating-channel of SAP (if any and conflicting).

When there is a frequent channel change from WWAN side, it causes
frequent SAP disconnection. To mitigate this problem, as part of
this change send the configuration to the WLAN FW which delays
the channel avoidance indication before sending it to host.

Change-Id: If67775d59b9f61d3592a5f6609d3b002899e5daf
CRs-Fixed: 2615917
2020-02-14 09:01:44 -08:00
Alok Kumar
a73938f684 qcacld-3.0: Disable peer_unmap_conf_support for FTM mode
In FTM mode, no peer is created in the host. Currently, since
peer_unmap_conf_support feature is enabled, FW is expecting
WMA_SEND_PEER_UNMAP_CONF from host to remove the peer Id from AST.
But host never send this WMI CMD in FTM mode.

Disable peer_unmap_conf_support in FTM mode which allow FW to
delete the peer Id without any WMI CMD expectation from host.

Change-Id: Idf9082adc81187346563f3aedf1f1657164f03cc
CRs-Fixed: 2608929
2020-01-30 17:59:38 -08:00
Pragaspathi Thilagaraj
b2e6d8964f qcacld-3.0: Update roam failure reason string
Update the mlme_get_roam_fail_reason_str() to return
correct string for new roam failure reason enums added.

Change-Id: I24983149fdcd8a0935eea9670832944638c33179
CRs-Fixed: 2607545
2020-01-24 18:43:39 -08:00
Abhishek Ambure
4706d0fe80 qcacld-3.0: Add INI to disable 6ghz support for oem
6Ghz channels information is not used by legacy OEM apps example
"lowi-server" having no support for 6Ghz channels.

Hence "oem_6g_support_disable" INI is added. By default INI value is
1. 6Ghz supported OEM applications sets INI value to 0 and gets 6Ghz
channel information from driver.

Change-Id: I2650e6ad2976b64e46ab0143b2bafc2df2343e94
CRs-Fixed: 2597651
2020-01-16 00:49:13 -08:00