Commit Graph

2476 Commits

Author SHA1 Message Date
gaurank kathpalia
0ea2611649 qcacld-3.0: Add RSO logic to send roam trigger from target if
Add RSO logic to send roam trigger from target if along with
some optimization to move old logic in ROAM_OFFLOAD_V1.

Change-Id: I38e7fb4f8873328097df7e3a25d6c709f8d69b33
CRs-Fixed: 2765155
2020-08-28 23:31:08 -07:00
Amruta Kulkarni
697f1926d1 qcacld-3.0: Send multiple ssid probe req to same bss during join procedure
In some instances, AP does not respond to probe req
causing join timeout at STA and no connection.
To solve this,send multiple probe requests(every 200ms)
to AP until join failure timeout(1 sec) expiry,
if single bssid case retry same bss again
(configurable via ini, max allowed tries 2).

Change-Id: I7a7eeedcc24db1a74cd186ff957c638a39cdea6d
CRs-Fixed: 2763815
2020-08-28 08:53:45 -07:00
Srinivas Dasari
fb7989e27a qcacld-3.0: Send nan enabled/disabled flag of SRD channels to fw
Check if NAN SRD operation is enabled in the ini
"etsi13_srd_chan_in_master_mode" and send the same to firmware
for all SRD channels.

Change-Id: I2aa8fd34c67b2061963b62a34d29c73740af3a76
CRs-Fixed: 2748455
2020-08-27 18:36:59 -07:00
Kiran Kumar Lokere
6ae664ed6c qcacld-3.0: Add configuration support for vdev dot11 mode
Add user configuration support to configure dot11 modes for
different vdev types.

Change-Id: I338d9d76f000195d1798bbc8b3b7ff1fb33ee305
CRs-Fixed: 2760240
2020-08-26 14:32:00 -07:00
Amruta Kulkarni
a9a90ab587 qcacld-3.0: Retry sending join_req after timer expiry
If join fail reason is timeout, retry sending join req
after timer expiry, timer value can be configured
via join_failure_retry_interval.

Change-Id: If90071b3f6d7f48936db6f7088c3c1547e48b294
CRs-Fixed: 2760236
2020-08-25 20:25:58 -07:00
Pragaspathi Thilagaraj
eec05fff64 qcacld-3.0: Add support to send RSSI_CHANGE_THRESHOLD
Add support to send WMI_RSSI_CHANGE_THRESHOLD command to firmware
in connection manager.

Change-Id: I97d4b8f8fc0e938ede0e61d44eb8ffbcbb0fb4ff
CRs-Fixed: 2761043
2020-08-25 05:41:15 -07:00
Arun Kumar Khandavalli
92d2e8b530 qcacld-3.0: Add thermal mitigation support for moselle
For older targets thermal mitigation is supported for the apps.
In moselle there a new processor wpps on which firmware runs,
this commit adds the support for the thermal client wpps.

Change-Id: I89896dce808807486ef56b90812369f3d5f4b270
CRs-Fixed: 2757566
2020-08-24 22:03:56 -07:00
Pragaspathi Thilagaraj
9c8821e63c qcacld-3.0: Add changes to define roam scan mode commmand structures
Add changes to define structure to hold the WMI_ROAM_SCAN_MODE
command related parameters.
Also added minor cleanup changes.

Change-Id: I24ef18e05de8dd05ee437e440651ea9ab0731e46
CRs-Fixed: 2758316
2020-08-23 17:37:32 -07:00
Rajasekaran Kalidoss
19c4db9c49 qcacld-3.0: Add support for twt pause and resume
Add support for twt pause and resume vendor
commands.

CRs-Fixed: 2738972
Change-Id: I6cddfb453628c0476d50507054771d54772ce003
2020-08-23 17:37:28 -07:00
Rajasekaran Kalidoss
188bf78da8 qcacld-3.0: Add support for TWT Terminate vendor command
Add support for TWT Terminate command request and response.

CRs-Fixed: 2736287
Change-Id: I710a600c53ad2b0f805ade70f254ea6aedcd4216
2020-08-23 15:33:35 -07:00
Rajasekaran Kalidoss
1ca17fe1cf qcacld-3.0: Add support for TWT Setup vendor command
Add TWT vendor subcommand and TWT operations for
Host triggered TWT. Also add support for TWT Setup command
request and response.

CRs-Fixed: 2735650
Change-Id: I4f52c9fb240714077347ffc5177692de01a6a126
2020-08-23 15:33:31 -07:00
Srinivas Girigowda
aeb9884553 qcacld-3.0: sme: Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF
Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF.

CRs-Fixed: 2752355
Change-Id: I5c537f3940825fa784f026a7e28adc75eeb99d09
2020-08-22 16:00:21 -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
Pragaspathi Thilagaraj
44a6907b34 qcacld-3.0: Fix peer unmap failure due to invalid roam scan mode value
When supplicant disables firmware roam, RSO stop command with
roam scan mode value 4 is sent to firmware and this value 4
indicates the firmare to enable only Forced roam trigger(roam
invoke command from host). But before
ROAM_DEINIT(WMI_VDEV_PARAM_ROAM_FW_OFFLOAD with value zero) is
posted to firmware, the roam scan mode should be 0 or else there
could be potential peer unmap failures if firmware has already
started roam and disconnect is triggered from north bound or from
peer.

To avoid this, in the roam offload state machine handle the state
switch from RSO stopped to deinit if supplicant disabled roaming
flag is set and send RSO stop with roam scan mode value 0 to
firmware.

Change-Id: If50a306b6019320ddab2ac1695a57718d27f477a
CRs-Fixed: 2755948
2020-08-15 15:01:29 -07:00
hqu
75feb60ade qcacld-3.0: Move rso related process to connection manager [PART 6]
Add new code to implement below functions for connection manager
roam part:
And below two RSO command related process:
ROAM_SCAN_OFFLOAD_STOP
ROAM_SCAN_OFFLOAD_UPDATE_CFG

Change-Id: I378b969ddae77fff49ad1d4d8ce21764b292e5ac
CRs-Fixed: 2753011
2020-08-14 04:12:14 -07:00
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
Yu Wang
4fc72d4273 qcacld-3.0: fix code defects for spectral callback registering
Declaring variable spectral_cb without initializer in
sme_register_spectral_cb, spectral_cb.vdev_get_chan_freq_seq2
will be used uninitialized.
To fix it, initialize spectral_cb when declaring.

CRs-Fixed: 2751599
Change-Id: I2c5cd5a85b54dcbda3059bfd528cd18626b6b316
2020-08-12 04:33:43 -07:00
Kiran Kumar Lokere
421d06551f qcacld-3.0: Add NULL check for profile in roam sync
Add NULL check for roam profile in csr roam sync callback as the
the session current profile can be freed in disconnect process.

Change-Id: Ia127cb9fb7a6185c0a57a2c28d72fb234087c7c8
CRs-Fixed: 2739817
2020-08-12 04:33:39 -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
Abhishek Singh
99f45408a0 qcacld-3.0: Fill proper AKM for WAPI
In WAPI conenction the check for WAPI authmode is missing.
And thus AKM filles in open mode leading to not seinding the WAPI
IE in assoc req and thus Assoc reject.

Fix by properly handling the WAPI case.

Change-Id: Ic7b7b7e5ffce46e30ade20395406287e1b5a5fce
CRs-Fixed: 2744415
2020-08-07 15:01:53 -07:00
jianmin
f5951e0c42 qcacld-3.0: Avoid use after free in csr_post_rso_stop
Req has been freed in csr_roam_send_rso_cmd when post msg failed.
Avoid use after free and double free in csr_post_rso_stop.

Change-Id: I86e6360eed1a57d0bac218f799393fff0e2a4a58
CRs-Fixed: 2748399
2020-08-07 12:57:28 -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
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
Abhinav Kumar
247596b04b qcacld-3.0: Send value of INI "roam_score_delta" to FW
As per requirement, send a value of an INI "roam_score_delta" to FW
through WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID.

Change-Id: I9a2087f83c2eb95338d440dc901bd8aa246f7e5f
CRs-Fixed: 2740552
2020-08-06 06:34:40 -07:00
Yu Wang
4923595552 qcacld-3.0: check the state before starting auto ps timer
Since sme_ps_enable_auto_ps_timer will be called in
different scenarios, and there is error level output
if trying to start it when it's already started.
To avoid the useless error log, check the state
before starting this timer.

CRs-Fixed: 2747427
Change-Id: If119da266a991b6b5990ad3077e41c2bba11a798
2020-08-06 06:34:37 -07:00
hqu
ed6c27c858 qcacld-3.0: Move rso related process to connection manager [PART 4]
Add new code to implement below functions for connection manager
roam part:

Filling below WMI cmd parameters related process:
WMI_ROAM_BTM_CONFIG_CMDID
WMI_ROAM_SCAN_STOP_CMD
WMI_ROAM_PER_CONFIG_CMDID

And RSO command:
ROAM_SCAN_OFFLOAD_RESTART

Change-Id: I18480941980a55957abd48e0329fe4ef213a1243
CRs-Fixed: 2747578
2020-08-05 04:24:03 -07:00
Abhishek Singh
dcce06ac56 qcacld-3.0: Fix RSN cap sent to firmware
Send RSN caps value as in supplicant to firmware instead of
intersection value.

Change-Id: If300836a89329325d906c88dcf06835ad767aa85
CRs-Fixed: 2746357
2020-08-03 17:07:43 -07:00
Kiran Kumar Lokere
39f91926a7 qcacld-3.0: Set global operating class for 6GHz band
Use global operating class for 6GHz to validate the
channels.

Change-Id: I8a3d8d35a4f7d232b70f2e6c51f145c6410a0ff8
CRs-Fixed: 2714941
2020-08-02 19:47:40 -07:00
Pragaspathi Thilagaraj
68d572daa3 qcacld-3.0: Add connection manager RSO init/deinit support
Add connection manager changes to send roam scan offload init
deinit. Add new enum roam_offload_init_flags to fill the roam
init/deinit flags, 4-way handshake offload, bmiss skip full scan
flags at connection manager instead of getting the ini and filling
at target if.

Change-Id: I558e868efd341b508d3df76c8d6ab90eac512432
CRs-Fixed: 2745585
2020-08-01 21:08:44 -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
gaurank kathpalia
324fc0b0c3 qcacld-3.0: Enhance BLM infra
Enhance BLM infra to include source,
reason for blacklist, original timeout,
received time for better debug.

Change-Id: Ia705a967a08412824063275f5073c338dabde539
CRs-Fixed: 2744402
2020-07-31 16:26:25 -07:00
Will Huang
2b266c257a qcacld-3.0: Add roam scan stop reason check to support LFR2.0 BTM
If it is LFR2.0 roaming and BTM trigger, original procedure is always
stopping roaming scan with reason REASON_OS_REQUESTED_ROAMING_NOW,
After roaming stop configured, it will check the stop reason and post
eWNI_SME_ROAM_SCAN_OFFLOAD_RSP to invoke host handover to new AP.

Currently the roaming scan logic is changed, if roaming scan not in
enabled state, it will not invoke roaming scan stop, so host handover
cannot invoke when BTM.
And even roaming scan was enabled, the stop reason was override to
REASON_SME_ISSUED in csr_post_rso_stop(), also cannot invoke handover.

Fix it by check the stop reason against REASON_OS_REQUESTED_ROAMING_NOW,
which indicate it is LFR2.0 reassociation invoked by supplicant.

Change-Id: I39a84d06b9c696179da1b854985a23b874a399c5
CRs-Fixed: 2737888
2020-07-30 02:05:43 -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
14807ac807 qcacld-3.0: Clear roam invoke progress in connect/disconnect
Clear roam invoke in progress flag in connect start and disconnect
events.

Change-Id: I49d64671f74b86c516d286c4b2aad69eda744b52
CRs-Fixed: 2715093
2020-07-28 00:02:19 -07:00
Pragaspathi Thilagaraj
5fb48b5750 qcacld-3.0: Connection manager add ucfg API for sme roam operations
Add changes to handle north bound roaming operations/
configurations in connection manager. Add equivalent connection
manager api for userspace triggered roaming operations & driver
internally triggered roaming offload operations:
sme_enable_roaming() - ucfg_cm_rso_init_deinit : Driver
internally triggered
sme_config_fast_roaming() - ucfg_user_space_enable_disable_rso:
Userspace triggered
sme_start_roaming() - ucfg_cm_enable_rso() - Driver internally
triggered
sme_stop_roaming() - ucfg_cm_disable_rso() - Driver internally
triggered
sme_abort_roam_scan() - ucfg_user_space_abort_roam_scan() -User
space triggered

Change-Id: I65130f69f2afff61b9ef7334ec365d3ce7519930
CRs-Fixed: 2741055
2020-07-27 12:03:11 -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
Kiran Kumar Lokere
be109fb59c qcacld-3.0: Add mandatory security checks for 6GHz connection
Check the required security types allowed for 6GHz connection and
do not allow the connection if the secutiry check fails.

Change-Id: Ic680c4600b3f17151e42f8708ff8810e5d16e52e
CRs-Fixed: 2715086
2020-07-24 02:00:53 -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
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
gaurank kathpalia
7cdc1d2e27 qcacld-3.0: Restructure connection manager structures
Restructure connection manager structures.

Change-Id: I97d1e1cf6ad6f8d4457fbb8370c7345bec64387c
CRs-Fixed: 2737150
2020-07-22 21:35:07 -07:00
Abhishek Singh
e34b54a7b7 qcacld-3.0: Remove older scan filter params
Remove older unused scan filter params and code related to it.

Change-Id: Ia1c9612e2be22ef2dada8be01cc404ec15318359
CRs-Fixed: 2737925
2020-07-22 21:35:03 -07:00
Amruta Kulkarni
9b00b5d67e qcacld-3.0: Associate to 5ghz AP in HE mode
5ghz AP broadcasts beacon frame with no HT caps but
VHT and HE caps are present.STA should connect to AP
in HE mode, but STA connects in 11a mode.Fix is to
check if AP supports HE connect in 11ax mode.

Change-Id: Id9e4f620e395d4ca2617af190b677003d1f9e4cf
CRs-Fixed: 2724747
2020-07-22 05:33:18 -07:00
Amar Singhal
abc1e6922d qcacld-3.0: Check if operating frequency is zero
Operating frequency may not have been filled up yet, from connectiion
profile. Check for the same.

Change-Id: I5f3c28fb855920c6038ce0714e9e0b3c4c21e7ef
CRs-Fixed: 2731261
2020-07-20 19:26:28 -07:00
Jianmin Zhu
aa74dc19cf qcacld-3.0: back to back roaming disable cmds block wpa supplicant for 2s
If 2 roaming disable commands are sent by wpa supplicant back to back,
2nd won't send RSO STOP to target since RSO STOPPED already, and
disable_lfr_event can't be completed any more since no RSO event from
target until 2s timeout, wpa_supplicant thread and nl80211 are blocked in
wlan_hdd_cfg80211_set_fast_roaming for 2s too.

Fix:
If roaming is stopped by wpa_supplicant already and to be disabled again,
return QDF_STATUS_E_ALREADY in sme_config_fast_roaming.

Change-Id: I7d15a4d4bd8e13ff410a7023f80b418eea435fcc
CRs-Fixed: 2733945
2020-07-18 22:30:26 -07:00
gaurank kathpalia
db2239f025 qcacld-3.0: Avoid copying individual params of score config
With same structure used in src and destination use memcopy
instead of individual assignment of the params in
csr_update_score_params

Change-Id: I18a459824e12ea6e599cf4363a0a569ba6b98045
CRs-Fixed: 2734503
2020-07-18 18:13:41 -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
Abhishek Singh
c76b71a758 qcacld-3.0: Move Blacklist filter while scoring the BSS
While BSS are scored apply blacklist logic to remove
blacklist AP or move the avoid AP at the end.

Change-Id: Id5310ef53d31159104fd40af6670135bb1be4571
CRs-Fixed: 2725144
2020-07-16 23:46:12 -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
Pragaspathi Thilagaraj
f16ee17015 qcacld-3.0: Validate FILS ERP key lengths in connect request
If ERP key lengths are greater than maximum valid lengths,
currently the connect request is allowed to go through.
Allow fils connection to go through only if erp keys are
not sent in connect. If erp information is present, validate
the rrk, realm, username length.

Add changes to lookup pmkid based on bssid also in addition to
the existing logic to lookup based on fils cache_id and ssid.

Change-Id: Iebde1f382b7db13553b848a459cb4a783744c2a6
CRs-Fixed: 2732050
2020-07-16 12:02:38 -07:00