Commit Graph

31 Commits

Author SHA1 Message Date
Srinivas Dasari
f70a2c4e2f qcacld-3.0: Send disconnect IEs received in deauth/disassoc to kernel
AP may send IEs in deauth/disassoc frames as part of disconnection.
Extract the same and forward to kernel through
cfg80211_disconnected().

Change-Id: I4ef339dcd1ecff64d6bed1de35621ecce5d8030a
CRs-Fixed: 2481912
2019-07-05 17:28:02 -07:00
Srinivas Dasari
03e2f53c6a qcacld-3.0: Add disconnect_ies in deauth/disassoc frame
disconnect_ies sent from userspace are cached in vdev mgr object.
Send the same in deauth/disassoc frames initiated from the driver.
Free the IEs once the frame is sent out successfully.

Change-Id: Ib223a9da7f5795bc10d717efe23c6106391070bb
CRs-Fixed: 2481909
2019-07-05 17:27:57 -07:00
Srinivas Dasari
19165744ea qcacld-3.0: Get disconnect IEs and cache in vdev mgr object
Application sends disconnect IEs to driver through vendor command
SET_WIFI_CONFIGURATION by embeding in the attribute
QCA_WLAN_VENDOR_ATTR_DISCONNECT_IES. Extract the same and validate
to make sure it's not more than maximum IE length that can be
accomodated in deauth/disassoc frame. Cache the extracted IEs
in mlme vdev object.

Change-Id: I6c95aa1d4d8ef7d8ed3ad5be8832ef1f45c26a2f
CRs-Fixed: 2481908
2019-07-05 17:27:52 -07:00
Abhishek Ambure
14bac6e77b qcacld-3.0: Remove legacy mlme_nofl logs
Remove legacy mlme_nofl log macros. For mlme_nofl logging,
use common code mlme_nofl log macros.

Change-Id: Ie27fe9adcfdc087487071fe511500b1e8cb7435b
CRs-Fixed: 2471126
2019-06-14 01:49:45 -07:00
Nirav Shah
dedc80217e qcacld-3.0: Add logging macros without function/line info
Add per module logging macros without function/line info
to avoid adding function/line info where it is not required.

Change-Id: I0bd9248122b4f49274ee05a225ce6f880fede0cb
CRs-Fixed: 2468414
2019-06-11 17:37:28 -07:00
gaurank kathpalia
20105bb92b qcacld-3.0: Add support for roaming in case of NUD failure
Add support for roaming in case the driver
detects a nud failure. The STA then would roam
to another BSSID, else if the roaming gets failed
the STA would remain connected to the same BSSID
as connected before.

Change-Id: Idbc99b0ce2f9cacd97564dd8cf9892120958eda2
CRs-Fixed: 2461675
2019-06-02 01:51:38 -07:00
Abhishek Ambure
79d03a671d qcacld-3.0: Cleanup VDEV_SM legacy code
Legacy code of VDEV SM is no more used, hence this cleanup is done.

Change-Id: I8dc649639c4c1afb4ae206a046fe530e172bced9
CRs-Fixed: 2454039
2019-05-17 16:21:48 -07:00
hqu
bcacd8416b qcacld-3.0: Fix wrong MBSSID information for VDEV UP command
VDEV UP command doesn't include right MBSSID information, it will
cause data stall issue and so on.

Fix is to provide right MBSSID information with VDEV UP command.

Change-Id: I0201722c14dee1b01b8dacc7e3095301fb02fd3a
CRs-Fixed: 2434405
2019-05-16 14:45:39 -07:00
Abhishek Singh
f3d79aeeac qcacld-3.0: On CSA complete, check if all peer need to be disconnected
CSA on DFS channels requires CAC period after RESTART response, peers
can leave during CAC period due to HB failure. But peers remain
connected in SAP and are not deleted.
Now if vdev down is called during CAC wait period, the peer delete
all is not called, and vdev delete is sent without sending peer
delete to firmare leading to assert.

This change adds the logic to internally disconnect all peers before
channel switch if CAC is required on new channel, i.e new channel is
DFS and pre-CAC is not done and ignore cac is not set.

Change-Id: I923fd11d1b9d4a2c606b19ff94baaf44397d3e20
CRs-Fixed: 2449104
2019-05-10 16:28:32 -07:00
Abhishek Ambure
efdc2e4328 qcacld-3.0: Rename mlme log macros
MLME log macros like mlme_debug, mlme_err, mlme_info are having same
definition in legacy and common code. To avoid this redefination,
lagacy MLME log macros are renamed.

Change-Id: I71fbbcd1f74df73e82b799b318a9e9a95a3cb0c8
CRs-Fixed: 2446535
2019-05-08 02:51:33 -07:00
Bala Venkatesh
7ff701e6d2 qcacld-3.0: Disable OCE in FW if SAP/ GO has any clients
Disable OCE in STA vdev if any sta gets associated to SAP/GO.
This will improve the scan results in STA interface.
Without this fix firmware will do probe request deferral for 15ms
out of 28 ms , so 15ms is gone and rest is not sufficient dwell
time to get all AP probe responses.

Change-Id: Ie6f79c86025c53360c792c740a963ed8a1d9b936
CRs-Fixed: 2443190
2019-05-03 05:45:18 -07:00
Abhishek Singh
a90516a68e qcacld-3.0: Use peer to get the cipher to decide MIC length
Driver uses cipher stored in vdev to get the MIC length, which
may get updated if multiple peer(TDLS peer in STA case) get
connected to the vdev. Thus depending on latest peer cipher type
the MIC length will be calculated for all peers.

Add changes to store cipher info in peer and use it to calculate
MIC length for the frame if CRYPTO_SET_KEY_CONVERGED is defined.

Change-Id: I852e4b519f55d8020237989314f8506aa275f379
CRs-Fixed: 2444416
2019-05-01 23:41:43 -07:00
Abhishek Singh
64350c5d68 qcacld-3.0: Use peer to get the cipher to decide MIC length
Driver uses cipher stored in vdev to get the MIC length, which
may get updated if multiple peer(TDLS peer in STA case) get
connected to the vdev. Thus depending on latest peer cipher type
the MIC length will be calculated for all peers.

To fix store cipher info in peer and use it to calculate MIC length
for the frame.

Change-Id: I8afbf9a3bb43c294dbacbbaa7fa0746600937d11
CRs-Fixed: 2428482
2019-04-05 03:33:17 -07:00
Abhishek Singh
abcba22317 qcacld-3.0: Change to include PDEV MLME component object
Changes to include PDEV MLME component object for VDEV SM.

Change-Id: I1f89e9bf5a4d5b17be7ec3c4fc52a5f8fe8f1862
CRs-Fixed: 2381858
2019-01-24 20:14:33 -08:00
Manikandan Mohan
9d41d601b7 qcacld-3.0: Move IBSS INI params to converged CFG component
Update qcacld driver to move IBSS INI params to converged CFG
component and cleanup HDD ini entriesi

Change-Id: Id8e4c0505113e556a8d64915a648f17fc5c0daf5
CRs-fixed: 2358493
2018-12-28 02:23:00 -08:00
Arif Hussain
cdd24e47d0 qcacld-3.0: Refactor CFG_FINE_TIME_MEAS_CAPABILITY cfg
Refactor following CFG_FINE_TIME_MEAS_CAPABILITY cfg items.

Change-Id: I854e584e366490f788ee778adad3fec0c2b5c8cc
CRs-Fixed: 2357070
2018-12-04 00:06:01 -08:00
gaurank kathpalia
6164b86ec6 qcacld-3.0: Store the nss, chain config in vdev priv obj
Store the ini and dynamic configurations in the
respective vdev's mlme priv obj.

Change-Id: Ib7a90937799a188dd729c91e7ee248d3287951c5
CRs-Fixed: 2349201
2018-11-16 05:09:45 -08:00
gaurank kathpalia
e7795eda86 qcacld-3.0: Infra for mlme_priv_obj with VDEV_SM enable/disable
Define two different mlme priv obj structures
based upon the flag CONFIG_VDEV_SM, for the
support of dynamic nss, chains update.

Change-Id: I00f39eb82973da86233ddfc8bdcc94b6ca8a439a
CRs-Fixed: 2349200
2018-11-16 05:09:40 -08:00
gaurank kathpalia
c2fc21145a qcacld-3.0: Populate the ini and dynamic params
Populate the ini and dynamic params from the mlme
component and store them to the respective
vdev component in mlme priv obj during vdev create.

Change-Id: Ic80526e51ba97c24b5340843fc97406a6ba4c7ef
CRs-Fixed: 2347504
2018-11-16 05:08:46 -08:00
Jianmin Zhu
d3474e05ad qcacld-3.0: Implement LFR2 and reassoc for new vdev SM
LFR2 uses ft reassoc, whose process is different from general
connect.

1.ft reassoc, normal reassoc and assoc, all of 3 need deliver
event WLAN_VDEV_SM_EV_START to SM,  but need different handler.

2.ft reassoc send vdev start when add bss, not switch channel.

Change-Id: Ieefbcf0a28867be3c8a86d9a912143857c54fe06
CRs-Fixed: 2334194
2018-10-18 08:13:25 -07:00
Sandeep Puligilla
463e30d4c6 qcacld-3.0: Add support for connection failure
Add vdev manager support for connection failure

Change-Id: I996e2bd14c7693793178edffa83d704a57580d93
CRs-Fixed: 2326164
2018-10-03 16:05:20 -07:00
Sandeep Puligilla
b02e424d7e qcacld-3.0: Add VDEV state machine for STA disconnection
Add support for VDEV state machine support
for STA disconnection

Change-Id: Iee7274fbc8ae985d034a29f920faa38aab68ccc7
CRs-Fixed: 2322539
2018-10-01 09:48:36 -07:00
Abhishek Singh
5e5f444df4 qcacld-3.0: Remove legacy vdev restart and hidden ssid restart flags
Remove legacy vdev restart and hidden ssid restart flags as vdev mlme
new vdev mlme priv flags.

Change-Id: I31a1541fe4504bfb635b3151ea3afd05ffce7cea
CRs-Fixed: 2319427
2018-09-21 07:09:14 -07:00
Abhishek Singh
0b6694d8d0 qcacld-3.0: Add vdev state machine for start BSS and CSA failure
Adds vdev state machine for start bss and CSA failure.

Change-Id: I77979af192e40fe44dd9ea7ce41d7be52f40ad15
CRs-Fixed: 2316581
2018-09-21 07:09:09 -07:00
Abhishek Singh
e9754bfdf8 qcacld-3.0: Add vdev state machine for hidden ssid restart
Adds vdev state machine for hidden ssid restart.

Change-Id: I41d8c8d71050c1e80597787db4623b1359cbb92d
CRs-Fixed: 2316576
2018-09-21 07:09:05 -07:00
Abhishek Singh
58869c5582 qcacld-3.0: Add vdev state machine for CSA and radar
Add vdev state machine for Channel change and to handle
radar indication.

Change-Id: Ib5a5476510ffe55611325c98dd9779261c7bd9a3
CRs-Fixed: 2316574
2018-09-21 07:09:01 -07:00
Vignesh Viswanathan
e258cced61 qcacld-3.0: Rename mlme_update APIs to mlme_init
Rename mlme_update APIs in wlan_mlme_main.c to mlme_init as these
APIs initialize the MLME structures and init is a more appropriate
for these APIs.

Also re-order defines in CFG_MLME_ALL to be in alphabetic order
similar to CFG_ALL

Change-Id: Ia8e10d86c62cc46230ef4c3d51c9588eaa1a5477
CRs-Fixed: 2318497
2018-09-20 22:24:23 -07:00
Sandeep Puligilla
ba22ce16a5 qcacld-3.0: Add legacy VDEV manager callbacks
Add legacy VDEV manager callbacks framework.

Change-Id: I8529a54382b3ffdecd25e54a97fc69d6a6a68177
CRs-Fixed: 2312724
2018-09-12 07:08:13 -07:00
Vignesh Viswanathan
a51b72f651 qcacld-3.0: Fix naming conventions for MLME APIs and files
Fixed the naming conventions of APIs and files for MLME component.
Internal MLME component only APIs are in wlan_mlme_main.h/c files
under core.
APIs exposed to other components are in wlan_mlme_api.h/c files
under dispatcher.
APIs exposed to HDD are in wlan_mlme_ucfg_api.h/c files
under dispatcher.
mlme_init/deinit, mlme_psoc_open/close are called from HDD,
so made that as ucfg APIs.

Change-Id: I049008ceaa86ca52acd3ad9a02f903a732117d1f
CRs-Fixed: 2309276
2018-09-05 09:49:58 -07:00
Vignesh Viswanathan
139f86420c qcacld-3.0: Add MLME CFG items and APIs
Add the basic infra for MLME CFG items and the APIs to be used from
other components.

Change-Id: I39654de8f7266089d574b85437a19e8d21f91249
CRs-Fixed: 2293825
2018-08-20 05:29:46 -07:00
Sandeep Puligilla
633d73685e qcacld-3.0: Add legacy mlme component
Add legacy mlme component main APIs and init/deinit from HDD.

Change-Id: I3d3de3bca9a4fd0896a9d6a076b5e60bb1a5ca83
CRs-Fixed: 2272959
2018-07-17 05:28:30 -07:00