Commit gráf

773 Commit-ok

Szerző SHA1 Üzenet Dátum
Kiran Kumar Lokere
54819a39d8 qcacld-3.0: Re-enable TWT before host TWT trigger mode
Disable the current TWT session and re-enable the TWT if the
current session in FW trigger mode before changing the TWT mode
to host trigger mode.

Change-Id: I7de2126605685c85a240d38356d439cb4be8cce1
CRs-Fixed: 2539353
2019-10-09 16:16:43 -07:00
Kiran Kumar Lokere
c220a51edb qcacld-3.0: Add VHT extended Nss BW support for 160MHz
Add VHT extended Nss BW support for 160MHz connection.

Change-Id: I8e2833a48ca5de0301634a88eb1a66002b4c9c20
CRs-Fixed: 2531279
2019-10-02 02:48:04 -07:00
Abhishek Ambure
c00691687c qcacld-3.0: Fix dp handle mem leak during SSR
In SSR case the mlme_vdev_obj_destroy_handler for the vdev may
get called after the dp soc is uninitialized and thus the
cdp_vdev_detach will not get called to free dp vdev.

Thus free dp vdev before sending the vdev delete and
for force cleanup due to ssr try to free it before detaching
dp soc.

Change-Id: I6f1f95a4f8bbc4cb316e8fd59f6411a6c0c2c099
CRs-Fixed: 2538481
2019-10-01 10:01:27 -07:00
Abhishek Ambure
24cff9e863 qcacld-3.0: Add VDEV null check before calling wlan_vdev_get_dp_handle
On passing vdev as argument to "wlan_vdev_get_dp_handle", it returns
"dp_handle". "wlan_vdev_get_dp_handle" has BUG_ON check for NULL vdev,
so VDEV NULL check is added before calling "wlan_vdev_get_dp_handle".

Change-Id: I68ffab078fb35d47e1e771215de610290455b7d7
CRs-Fixed: 2538435
2019-10-01 08:01:26 -07:00
Abhishek Ambure
0b2ea32256 qcacld-3.0: Cleanup handle & rate_flags from struct wma_txrx_node
As a part of vdev convergence, struct wma_tx_rx_node's handle &
rate_flags members are no more unused. These values are derived
from mlme_obj.

So no more used members of struct wma_txrx_node are cleaned.

Change-Id: I0b536c50717edc293ab27e5d520eb490266ba2ce
CRs-Fixed: 2534222
2019-09-27 05:20:02 -07:00
Abhishek Singh
52dc8abc44 qcacld-3.0: Cleanup unused params from struct bss_params part 2
Cleanup unused params from struct bss_params after moving to
vdev target if for add bss request.

Change-Id: Ib3cf3726b4b4c692a0323669770632f2031d4e9a
CRs-Fixed: 2535156
2019-09-27 02:46:30 -07:00
Jianmin Zhu
9c35741281 qcacld-3.0: Refactor LFR2 and OCB vdev start
Refactor LFR2 and OCB vdev start, fill vdev mlme directly,
don't use wma_vdev_start_req.

Clean up wma_vdev_start_req
Clean up wma_vdev_start

Change-Id: Ic647271dee8c69f8cb9500fa3b5388ce7ef39ace
CRs-Fixed: 2534828
2019-09-26 21:32:45 +05:30
Abhishek Ambure
27f9830104 qcacld-3.0: Add dummy function for wma_set_ibss_pwrsave_params
In the legacy code, "wma_set_ibss_pwrsave_params" was called from
code protected under "QCA_IBSS_SUPPORT". Refactor ap vdev start
change call this function, hence dummy definition for
"wma_set_ibss_pwrsave_params" is added.

Inline dummy function "wma_set_ibss_pwrsave_params" is added to
overcome compilation errors if QCA_IBSS_SUPPORT is disabled.

Change-Id: Idff86469480d607c9ce1cc4f65fcd65b01a83308
CRs-Fixed: 2535135
2019-09-25 23:57:35 -07:00
Yeshwanth Sriram Guntuka
1669fc0508 qcacld-3.0: Add CSR APIs to maintain roam state machine
Add CSR APIs to maintain the roam state machine.

Change-Id: I68728cb657c5a492f141bea90b2da0d70cb61f08
CRs-Fixed: 2520826
2019-09-25 10:37:09 -07:00
Jianmin Zhu
58e929c24c qcacld-3.0: Refactor ap vdev start
1. When AP/IBSS/NAN vdev start, fill parameters into
vdev mlme directly.
2. LIM call wma API directly instead of post msg.
3. Add pre/post vdev start handlers
4. Remove following functions:
	wma_add_bss
	wma_add_bss_ap_mode
	wma_add_bss_ibss_mode
	wma_add_bss_ndi_mode
	mlm_add_sta
5. Add lim_set_ch_phy_mode to set phy mode for all vdev start
cases.

Change-Id: I0dc32e399dc9b49c9bbca16fbc4bd0f44eab284d
CRs-Fixed: 2533714
2019-09-25 01:08:40 -07:00
Abhishek Ambure
3ee80888e3 qcacld-3.0: Clean up struct wma_txrx_node unused members
As a part of vdev convergence, struct wma_tx_rx_node's bssid & addr
members are no more unused. These values are derived from mlme_obj.

So no more used members of struct wma_txrx_node are cleaned.

Change-Id: I2462a25f91b66b9efac42935a599f1362cb268f1
CRs-Fixed: 2532061
2019-09-24 13:59:50 -07:00
Abhishek Singh
efe21e6b1f qcacld-3.0: Replace find pe session by sme session id with vdev id
Replace pe_find_session_by_sme_session_id with
pe_find_session_by_vdev_id as sme_session_id is vdev id.

Change-Id: I5fa537ff8e391fc18e568fd6f750334268faafa9
CRs-Fixed: 2531681
2019-09-23 01:43:38 -07:00
Abhishek Singh
78b974008a qcacld-3.0: Remove unused bssId from struct sDphHashNode
The bssId in struct sDphHashNode represent vdev_id and same can
be used from pe session which already has this info so remove
bssId param.

Change-Id: I47a7f27e95bfaa9ecd617cb531895601a27dfbf5
CRs-Fixed: 2530965
2019-09-19 14:52:52 -07:00
Abhishek Singh
6243a002ea qcacld-3.0: Cleanup unused params from tpAddStaParams
Many legacy params of tpAddStaParams are unused, thus
cleanup the unused params from tpAddStaParams.

Change-Id: I1be957d2f34d2202bcc1d44e69ad5cba0812c60b
CRs-Fixed: 2530961
2019-09-19 13:36:43 -07:00
Jianmin Zhu
054c27318a qcacld-3.0: Remove wma_vdev_start_req from channel switch
1. Remove wma_vdev_start_req from channel switch, fill vdev mlme
directly.
2. Add channel switch pre/post handler.

lim_send_switch_chnl_params:
   1. Fill vdev mlme
   2. wma_pre_chan_switch_setup->wma_vdev_pre_start
   3. vdev_mgr_start_send
   4. wma_post_chan_switch_setup

Change-Id: I88301a39ba45b6092c4483554e1e738fac92cc94
CRs-Fixed: 2530906
2019-09-19 09:21:20 -07:00
Abhishek Singh
7944c9aef9 qcacld-3.0: Remove unused params from struct bss_params
struct bss_params has many legacy params which are not used. So
remove the unused params from struct bss_params.

Change-Id: I7d930e83ff0ce56bf8fb07789f9fca9f94fb6f74
CRs-Fixed: 2530215
2019-09-18 22:53:58 -07:00
Abhishek Singh
6e5c7a6f42 qcacld-3.0: Use add_bss_resp structure while handling add bss resp
The add_bss_req struct is used while handling add bss resp,
and is stored in vdev priv mlme.

The resp path require the info which can be filled from vdev resp
and thus no need to store the add_bss_req. From response fill and
use the add_bss_resp in add bss response handling path

Change-Id: I7ec1189c7d399e181f451a442a2578964eb4e47d
CRs-Fixed: 2529289
2019-09-18 22:53:52 -07:00
Jianmin Zhu
e9fbc3f7b8 qcacld-3.0: Refactor channel switch
When channel switch, don't use tpSwitchChannelParams, fill
wma_vdev_start_req directly in LIM lim_send_switch_chnl_params.
Update wma_set_channel(struct wma_vdev_start_req *req)
PE/LIM call wma API directly for channel switch, don't post msg.
Clean up useless tpSwitchChannelParams.

Change-Id: I876207909ff0bc50f9ec1fbff639c0e9b7d03907
CRs-Fixed: 2529018
2019-09-18 04:18:46 -07:00
Abhishek Ambure
8ed62cb4f0 qcacld-3.0: Keep IBSS code under feature flag in WMA
IBSS code is placed under QCA_IBSS_SUPPORT feature flag.

Change-Id: I08248985dc1a61ce8dce4eea9a6a6b8c01a93ec1
CRs-Fixed: 2525652
2019-09-17 23:40:47 -07:00
gaurank kathpalia
9d1acaff4a qcacld-3.0: Convert channel to chan freq for 6ghz support
Convert channel to chan freq for 6ghz support in
wma structures.

Change-Id: Ice52995968b06d974b115ec3eda6c7ab42657c73
CRs-Fixed: 2514449
2019-09-17 10:20:14 -07:00
Wu Gao
aa3ab36be6 qcacld-3.0: Set rx chainmask before start spectral scan
It need rx chainmask to select noise floor when start spectral gen3
scan and rx data by DMA. So set rx chainmask before start spectral
scan.

Change-Id: I63efd8f5384537b5697ba809bb05fdd17e243210
CRs-Fixed: 2519366
2019-09-14 21:25:56 -07:00
Jianmin Zhu
e224e5f3bd qcacld-3.0: Populate vdev mlme with vdev start req
Populate vdev mlme obj and dest chain with vdev start req for
vdev_mgr_start_send.
Remove vdev_start_params from wma_vdev_start.
Remove vdev_mgr_start_param_populate.

Change-Id: I8606441341344fbcd181facf4000942ff94ac00d
CRs-Fixed: 2516590
2019-09-13 20:21:38 -07:00
Abhishek Singh
7a4d17a2de qcacld-3.0: Fix Vdev start failure handling in SAP and STA
Vdev start failure handling in SAP and STA and not handled
properly and thus VDEV SM doesn't move to INIT state and
lead to asserts.

Change-Id: I5ea09f9c6e84a2e1c7f9254319aaa1a11e2f97e8
CRs-Fixed: 2526179
2019-09-12 20:23:57 -07:00
Jianmin Zhu
9772c4a321 qcacld-3.0: Refactor sta add bss in wma and lim
Devide wma_add_bss_sta_mode into 4 functions for 4 cases:
1. wma_pre_assoc_req, called before sta assoc, config vdev
params.
2. wma_send_peer_assoc_req, called after sta associated, send
peer assoc cmd to F/W.
3. LFR3 add bss
4. LFR2 add bss and vdev start

Lim will call these functions directly instead of post msg to
wma.

Replace lim_set_link_state with wma_add_bss_peer_sta to create
peer for LFR2 roaming.

Clean up all link state usless code now.

Change-Id: I6ad19bb92e7b0334704ac9c930277e9c35abbee2
CRs-Fixed: 2510119
2019-09-10 01:02:43 -07:00
Jianmin Zhu
dd405695cd qcacld-3.0: Switch to target if vdev up
Switch legacy vdev up to vdev mgr/target if vdev up

Remove wakelock since it is handled in target if.
Clean up legacy vdev up API.

Change-Id: I125b202e9a18ee3bf279fe4df7bc17b9ec7bf999
CRs-Fixed: 2516586
2019-09-09 05:35:11 -07:00
Abhishek Singh
989f8b8709 qcacld-3.0: Remove unused members of struct wma_txrx_node
Some struct wma_txrx_node members are not used so remove them.

Change-Id: I900a0898e448dfc363aad1d157de74557bb982f6
CRs-Fixed: 2523105
2019-09-08 02:24:09 -07:00
Abhishek Singh
850476c541 qcacld-3.0: Cleanup unused vdev request hold framework
With vdev operations moved to target if from the wma, the vdev
request hold framework is not used.

Thus remove the unused functions and structures

Change-Id: I6e609735ad0bdc8b929cfffa6f13915f0ad6823d
CRs-Fixed: 2523104
2019-09-07 17:56:13 +05:30
Abhishek Singh
356781e02f qcacld-3.0: Use Vdev mlme target if for hidden ssid restart
Use Vdev mlme target if for hidden ssid restart.

Change-Id: I915f7911a1f3e01fd6579ed3e33d65bfe8a6c413
CRs-Fixed: 2522556
2019-09-06 13:42:52 -07:00
Jianmin Zhu
b4203ad3dc qcacld-3.0: Switch to target if vdev start req
Populate vdev mlme in wma vdev start.
Call vdev mgr/target if vdev start API in wma vdev start.

Change-Id: Icbf82c8af320d0b2a19a72db94ad6abfa373b7e6
CRs-Fixed: 2516589
2019-09-06 12:26:09 -07:00
Jianmin Zhu
7658df6386 qcacld-3.0: Refactor vdev resp handler
Add target_if vdev start resp handler: target_if->vdev_mgr->
	mlme legacy(wma->lim).

Replace channel switch parameter by vdev resp event

Wma call lim API directly, don't post message

Get add bss from vdev mlme obj priv data.

Change-Id: Iba8f70e22639e0ec9ec3db04e08b24655b2f0057
CRs-Fixed: 2516585
2019-09-06 12:26:00 -07:00
Abhishek Ambure
968f1515a5 qcacld-3.0: Clean up struct del_bss_params
As a part of vdev convergence, legacy vdev code for vdev delete/stop/
down is removed. WMA timer for vdev manager operations are deleted,
now target_if takes care of it.

Structure del_bss_params is no more used to store bss delete request
params, hence struct del_bss_params is cleaned up from legacy code.

Change-Id: I487d2683908b705176ff8064dd3ce7cd49a3ce47
CRs-Fixed: 2517880
2019-09-06 00:46:06 -07:00
Tushnim Bhattacharyya
42299b8780 qcacld-3.0: Replace channel with frequency in csr_channel
Replace channel ID with frequency in struct csr_channel.

Change-Id: Id86aacfd6dc9b0c65184bf046a7ee27b9c1fb5e5
CRs-Fixed: 2519204
2019-09-04 18:53:48 -07:00
Kiran Kumar Lokere
89f01f0fac qcacld-3.0: Add support for VHT MCS 10&11
Add support to advertise the VHT MCS 10&11 support using vendor
specific IE to enable the MCS 10 and 11 support in VHT mode.

Change-Id: I2d197dcce20ab4aec617ca8a7f4a54b438fae635
CRs-Fixed: 2465662
2019-09-04 16:22:53 -07:00
Tushnim Bhattacharyya
c71d7d46c9 qcacld-3.0: Include wmi.h on the correct header file
Include wmi.h in wma header file.

Change-Id: I08d53ff111d2f0bc9f7a4046d27174cf3e3f8aa7
CRs-Fixed: 2514755
2019-08-29 22:10:55 -07:00
Abhinav Kumar
18285936bc qcacld-3.0: Don't Issue disconnect on roaming timer expiry
Currently Host issue a disconnect and cleanup for current AP,
even if the offloaded roaming feature has started, but has not
completed for some reason. This results in connection loss with
the current AP.

Fix is to call abort event SIR_ROAMING_ABORT in case of roaming
offload timeout in order to maintain the connection with the
current AP.

Change-Id: I4168f8aeb7a759896a5d93e1918ce6542e61b37e
CRs-Fixed: 2508449
2019-08-26 12:26:44 -07:00
Abhishek Singh
5606ee0fca qcacld-3.0: Use vdev cmd resp timer from vdev target if
As part of vdev target if convergence the new vdev command
resp time are defined in target if layer.

So use the vdev timer values from target if.

Change-Id: Ib74f91331e4cb470233e678ded9159e17045467e
CRs-fixed: 2513794
2019-08-23 12:31:17 -07:00
Abhishek Singh
9a243e8054 qcacld-3.0: Remove unused set link states and functions
Set link state is not used now so remove unused set link states
and functions.

Change-Id: Idb1a40922b8a27a18864d7047983d456cc05bffa
CRs-fixed: 2514158
2019-08-23 06:27:01 -07:00
Abhishek Ambure
40972f18dd qcacld-3.0: Clean up set link code
Legacy code for set link is removed. Set link code is refactored.

Change-Id: I97c5fde76b8529d21c16c7650e32c91dffaae2f2
CRs-Fixed: 2513049
2019-08-22 12:35:09 -07:00
Abhinav Kumar
4f959589b8 qcacld-3.0: Convert channel to freq in tpAddBssParams structure
Topic: 6ghz_chan_to_freq

Convert channel to freq in tpAddBssParams and wma_vdev_start_req
structure to avoid duplicate channel numbers in 6ghz, and 2.4ghz
operation.

Change-Id: I8f657a566d1555efa07bf9155b84c37431c57f86
Crs-Fixed: 2511312
2019-08-22 12:34:54 -07:00
Srinivas Dasari
f4e1b1208c qcacld-3.0: Send roam triggers from vendor cmd to firmware
Userspace can configure different roam triggers as defined
in qca_vendor_roam_triggers through the roam subcmd
QCA_WLAN_VENDOR_ROAMING_SUBCMD_CONTROL_SET and the
attribute QCA_ATTR_ROAM_CONTROL_TRIGGERS. Send the roam trigger
bitmap to firmware

Change-Id: I692110a2ae1ee5a35bb248b9138080a7dfb02cf6
CRs-Fixed: 2508776
2019-08-22 12:34:34 -07:00
hangtian
0f76fdfac0 qcacld-3.0: Set hidden_ssid when restart sap on another channel
Set hidden_ssid when restart sap on another channel, currently tested 2
methods to restart sap on another channel: 1, force-scc switch to station
channel; 2, iwpriv wlan1 setChanChange x. Both of them run into error
state: with hidden_ssid set in hostapd.conf: ignore_broadcast_ssid=1,
after channel switch, APUT reply broadcast probe request with it's SSID.
Copy pe session parameter: ssidHidden which stored user setting to next
channel vdev start.

Change-Id: I56580529e2b0db673c6b28c75094a7fd225cba77
CRs-Fixed: 2506214
2019-08-22 01:37:50 -07:00
Abhishek Ambure
2bd960b047 qcacld-3.0: Clean up del bss param structure
Unused members of delete bss params structure are removed
and structure is re-framed.

Change-Id: Ib2e7c72e0636765341792a79aa12968a84ed4879
CRs-Fixed: 2512877
2019-08-22 01:37:44 -07:00
Abhishek Ambure
09905d743a qcacld-3.0: Refactor vdev stop/down code
Refactor vdev stop and down code to target_if common code.
Remove legacy code for vdev stop and down.

Change-Id: I4ab0743d39a3b37816ab9f18e8850cadf1335c15
CRs-Fixed: 2506649
2019-08-19 09:37:13 -07:00
Alan Chen
34250b7fe7 qcacld-3.0: Add vdev start, stop, and set-key wakelock for runtime PM
There is only vdev start, stop, and set-key wakelocks for system suspend
as of now. Add vdev start, stop, and set-key wakelocks for runtime PM
also.

Change-Id: Ic071bcfb112ae8861a446298677d190484f0c01b
CRs-Fixed: 2507852
2019-08-14 17:01:55 -07:00
gaurank kathpalia
c99859b8cb qcacld-3.0: Convert channel to freq in vdev start structure
Convert channel to freq in vdev start structure to
avoid duplicate channel numbers in 6ghz, and 2.4ghz
operation.

Change-Id: Ie78d93a34d1d558b9c94fc8a54aa95ee07bda55e
CRs-Fixed: 2508040
2019-08-13 07:32:57 -07:00
Pragaspathi Thilagaraj
ba42a982b3 qcacld-3.0: Check SAE & OWE target capability to enable RSO
Currently the host driver blocks roam scan offload command to
the target if the connected akm is OWE or SAE.

Add changes to read the WMI_SERVICE_WPA3_SAE_ROAM_SUPPORT and
WMI_SERVICE_WPA3_OWE_ROAM_SUPPORT service capability advertised
by the target and set it to the mlme fw_akm_bitmap. Read this
bitmap in csr_roam_offload_scan() to allow RSO command.

Also the connected akm is sent to the target via the
WMI_AP_PROFILE command. Translate the CSR akm type for OWE and
SAE akm also.

Change-Id: I68527722ab099e0c8e1681ed64ea416b9a6e9936
CRs-Fixed: 2491021
2019-08-13 04:17:19 -07:00
Pragaspathi Thilagaraj
a97d498743 qcacld-3.0: Send preauth status for SAE hybrid roaming
For WPA3 SAE LFR-3.0 roaming, authentication is offloaded to the
wpa_supplicant via the host driver due to the target crypto
inavailability limitations. The target does candidate selection
and sends the WMI_ROAM_PREAUTH_START_CMDID to the driver.

Once the SAE authentication is done, the supplicant sends the
external auth NL command with the authentication status, PMKID
derived. On receiving this event, send the PMKID, bssid, auth
status to the target over WMI_ROAM_PREAUTH_STATUS_CMDID command.

The host driver decides if the external authentication event is
received for preauth candidate or for initial connection by
checking the connected state information of the csr session.

When the authentication fails with the first candidate, the
target triggers the preauth start for the next candidate. This
happens till there are no candidates available to roam.

There could be a situation where the firmware sends preauth
event for candidate1 and before the supplicant could send the
external auth command to the host driver, the candidate1 preauth
timer could have expired and firmware sends the preauth start for
second candidate. After SAE is done with second candidate also,
the supplicant sends external auth event for second candidate. So
in this situation the firmware should decide to choose the
latest candidate. The host driver here is a mere passthrough and
doesn't maintain timer for the preauth event for each BSSID to
drop the expired candidate preauth events.

Change-Id: I799a05e55a59677dfc2ddf5b55ebc888ccfea03e
CRs-Fixed: 2507003
2019-08-12 16:18:14 -07:00
Jianmin Zhu
f07aa51b88 qcacld-3.0: Rename and replace typedef tpAddBssParams
The Linux Coding Style frowns upon mixed-case names so rename
identifier tpAddBssParams to be compliant.

The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tAddBssParams typedef does
not meet any of those criteria, so replace it (and the "tp" variant)
with a properly named struct.

Change-Id: Icf7fe19cfe6eb6fbac5689e3b5474d38c520b311
CRs-Fixed: 2506539
2019-08-12 04:23:30 -07:00
Pragaspathi Thilagaraj
7a7163bac7 qcacld-3.0: Add support for wpa3 roaming authentication offload
Firmware offloads WPA3 SAE authentication to host due to the
crypto library availability limitation. Once the roam candidate
selection is done in the firmware, firmware sends the
WMI_ROAM_PREAUTH_START_EVENTID. Once this event is received, the
host driver triggers the SAE.

Add support to offload the SAE authentication from firmware to
wpa_supplicant.

Change-Id: Ie3a9e731194e1edfcd9f33ef0d601767b9485d46
CRs-Fixed: 2490201
2019-08-12 02:45:06 -07:00
Jianmin Zhu
821e6d4401 qcacld-3.0: Refactor STA join process
Create bss peer in lim_process_mlm_post_join_suspend_link
when sta connect, don't need pose message to wma queue.

Change-Id: I23325c9d41b68f67ea9903008521f026e46395c4
CRs-Fixed: 2505558
2019-08-12 01:27:36 -07:00