Commit graph

19,282 commits

Author SHA1 Message Date
Abhinav Kumar
52fe8ec124 qcacld-3.0: Disable BTM offload to fw if a peer doesn't support PMF
If DUT connected to a non-PMF MBO/OCE enabled network, STA should
not initiate roaming due to BTM trigger.

If HOST disables BTM in firmware then firmware forwards frame to
host and host forward it to supplicant. Supplicant ignores the BTM
frame rather than send connect request to the driver.

Fix is to disable BTM offload if a peer doesn't support PMF.

Change-Id: I6455258c61bd3c2be7ec6c629b44d1aa08978740
CRs-Fixed: 2664896
2020-04-27 23:26:38 -07:00
nshrivas
3086ce1e60 Release 5.2.0.183E
Release 5.2.0.183E

Change-Id: I39f598a89c2750aa5986d643c89aaa37ca2881c8
CRs-Fixed: 774533
2020-04-27 21:32:01 -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
bings
ea4abd6819 qcacld-3.0: Refine gEnableMCCAdaptiveScheduler as bool
It is more proper to define gEnableMCCAdaptiveScheduler as bool. Then
enable_mcc_adaptive_sch in struct policy_mgr_cfg should be defined as
bool.

Change-Id: I97e2c708e413f86722192b80de39d336e219b3fa
CRs-Fixed: 2656591
2020-04-27 21:31:55 -07:00
Li Feng
865036ff4f qcacld-3.0: Take account of dfs cac state to determine dfs_cac_block_tx
Regarding to the go+sap scc on dfs channel, sap can follow with go
to the same dfs channel, but sap tx is hung.
Since the host set the dfs_cac_block_tx by mistake when ap started,
though the ap skip the cac because the scc go finished the cac
procedure, then dfs_cac_block_tx has no chance to be reset.

The fix is to take account of dfs cac state to determine the proper
dfs_cac_block_tx.

Change-Id: I7a35225711f587b83d2fc381108d7d3f15893867
CRs-Fixed: 2631457
2020-04-27 21:31:50 -07:00
nshrivas
90614d7036 Release 5.2.0.183D
Release 5.2.0.183D

Change-Id: I1f60f07996e57be2153f9f51efd39c54094643b3
CRs-Fixed: 774533
2020-04-27 19:51:21 -07:00
Gururaj Pandurangi
b638f6b5a6 qcacld-3.0: Validate intf_ch_freq before using it
Validate intf_ch_freq before dereferencing it

Change-Id: Ie30da1f85a77680a6eb4f40e5c6f18f5dddd3153
CRs-Fixed: 2669297
2020-04-27 19:51:21 -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
Jianmin Zhu
c87ebb5ca3 qcacld-3.0: Host roam failed when need hw mode change
On Genoa, when 2G SAP exist, when STA roam from 2G to 5G by LFR2,
hardware mode need switch from single MAC mode to dbs mode.
Since disconnect current AP happens before reassociate, in
hw mode response handler, found original AP disconnected
already on host side, then don't reassoc new AP, it's regression
of Change-Id: I794c6bf3f749bba9c339fd18b5202d50091b73a7.

Fix: In hw mode response handler, don't check connect state of
current AP when reassoc new AP.
If found disconnect pending during host roaming, don't reassoc.

Add debug log when error happens.

Change-Id: Id836ac84a4156e9db28f6892c8c9eb5210dfb6e0
CRs-Fixed: 2668869
2020-04-27 19:51:13 -07:00
Srinivas Dasari
9a0ed3383c qcacld-3.0: Delete all NDP peers when NDI is removed
When NDI is removed from framework, driver deletes all NDPs
as part of eWNI_SME_STOP_BSS_REQ. Driver posts WMA_DELETE_STA_RSP
to lim from wma just after sending PEER_DELETE request to
firmware for NDP and ignores the DEL_STA response from firmware.
If there are multiple peers, all peer delete requests are sent
back to back to firmware. NDI peer delete and NDI VDEV delete
request also follow these immediately. All these commands
can go back to back to firmware as driver doesn't wait for
any of these responses.
But firmware needs some time to send NDP end frame to
the NDP peer after receiving NDP peer delete. Firmware might hold
the NDP peer delete request till it successfully sends the frame
to the peer.
Driver must wait till the NDP peer delete response is received to
proceed further with NDI cleanup/NDI vdev delete.
So, send NDP_END_ALL to firmware to let the firmware
initiate cleanup for all NDP peers. Use ucfg_nan_disable_ndi to
do the same which takes care of waiting for response from firmware
indicating cleanup has started. Then wait for all NDP END
indications and unblock the wait upon receiving last NDP END
indication.

Change-Id: I250883b3e9759ad903c3ce17f8c2c0b74a81f496
CRs-Fixed: 2619757
2020-04-27 19:51:08 -07:00
nshrivas
5649248252 Release 5.2.0.183C
Release 5.2.0.183C

Change-Id: If585843f5b3f1cf5dd2e5c9ab02227d83162240f
CRs-Fixed: 774533
2020-04-27 15:46:55 -07:00
Ashish Kumar Dhanotiya
c6125c65da qcacld-3.0: Add INI support to enable/disable sap rrm
Currently there is no ini to control the rrm support on
SAP.
Add a new ini to enable/disable rrm on SAP.

Change-Id: Idef8da807bc5f8e2b4a1d61997824006e78b0cf6
CRs-Fixed: 2658926
2020-04-27 15:46:55 -07:00
Jianmin Zhu
e6655cd69a qcacld-3.0: Validate wma handle before using it
Validate wma handle before using it.

Change-Id: Ic8d62ffa66ace75ef43326908ad4ebe19cb8533a
CRs-Fixed: 2669309
2020-04-27 15:46:50 -07:00
Jianmin Zhu
40e0a44264 qcacld-3.0: Validate wma handle before using it
Validate wma handle before using it.

Change-Id: Ia29ffcfdebe1de0c36d2c0f91188e0785a00464c
CRs-Fixed: 2669325
2020-04-27 15:46:45 -07:00
Jianmin Zhu
a2a5c1d066 qcacld-3.0: Validate wma handle before using it
Validate wma handle before using it.

Change-Id: I8612dece6cd866553a5bc734c487792a03262921
CRs-Fixed: 2668315
2020-04-27 15:46:40 -07:00
Jianmin Zhu
2bb2487491 qcacld-3.0: Validate mac context before using it
Validate mac context before using it.

Change-Id: I783e595d3be6288479e636a0263bdf885144cfb8
CRs-Fixed: 2668312
2020-04-27 15:46:35 -07:00
nshrivas
4f5348573a Release 5.2.0.183B
Release 5.2.0.183B

Change-Id: Ie5674e6cbcb9ee5a2561244c1a18862184000cf8
CRs-Fixed: 774533
2020-04-24 23:44:19 -07:00
Srinivas Dasari
8e652c0e58 qcacld-3.0: Remove NDP_END_ALL request from serialization queue
Currently NDP_END_ALL request is posted to serialization queue but
not removed even after getting response from firmware. The timer
expires after 4 seconds and the message is gets dequeued as part
of timer handler. Dequeue the request from queue after getting
NDP_HOST_UPDATE from firmware to avoid blocking the northbound
APIs for this 4 seconds.

Change-Id: Ie8045f2460f7ac27732d4070ed79e5a61aab0bd2
CRs-Fixed: 2662869
2020-04-24 23:44:18 -07:00
nshrivas
11e05a930b Release 5.2.0.183A
Release 5.2.0.183A

Change-Id: I972221d1fce29f9f0e4f45a607a7c8d0cea2a573
CRs-Fixed: 774533
2020-04-24 17:09:41 -07:00
Utkarsh Bhatnagar
7407c48ab5 qcacld-3.0: Print fw_phymode & Inlcude peer phymode to check for 11b
Enhanced the log printed in wma_sap_peer_send_phymode to add fw_phymode
Also, Used peer phymode as well to check for 11b mode.

Change-Id: Ib009cf0d7ffbd0512a41c9e6fe84e674685f63ec
CRs-Fixed: 2670345
2020-04-24 17:09:41 -07:00
Pankaj Singh
9dcc7e0e82 qcacld-3.0: Tdls avoid peer access after peer deletion
Currently, peer can be accessed after deletion in hdd because
cdp_clear_peer called via tdls_process_del_peer_rsp
tries to remove peer from physical device after deletion of
peer in datapath.

Fix is to remove cdp_clear_peer from hdd as it is handled by
cdp_peer_delete.

Change-Id: Ibdeb9a2a8dcf3318d66a48b9e9c7ca4d5cd74cb3
CRs-Fixed: 2663555
2020-04-24 17:09:36 -07:00
Abhinav Kumar
23671b27af qcacld-3.0: Fix uninitialized parameters
Remove unused parameter "pmkid_index" in
csr_lookup_pmkid_using_bssid().

Change-Id: Ieb8d0c8225fce65e25d6e3d97b5d0bd05d1a7154
CRs-Fixed: 2668234
2020-04-24 17:09:30 -07:00
Pankaj Singh
8e2e7b47a3 qcacld-3.0: Don't send peer update after peer delete
During tdls peer delete, wmi command WMI_PEER_DELETE has been
send but later on from driver wmi command for peer update is
send without checking for peer reference before sending to fw.

Fix, to check for peer reference before posting the cmd to fw.

change-ID: I216d1ad726af3369c227ae566e22949cadb8300c
CRs-Fixed: 2667811
2020-04-24 17:09:25 -07:00
Mohammed Siddiq
b59cdd31cd qcacld-3.0: Add pld pcie code to handle hang event data info
Add code in pld pcie to handle hang event data and length received
from platform driver.

Change-Id: Ibc1b667b6127e2ce6b666e9007bf725ea7e07760
2020-04-24 17:09:19 -07:00
sheenam monga
ea09f91ec3 qcacld-3.0: Update beacon rpt error code
Currently, There is no check for new report to find if
previous beacon report request is in progress.
So whenever a new beacon report request comes,
it is processed without consideration of any ongoing
beacon request processing.

Fix is to add a check of request in progress and append
err code BCN_RPT_ERR_PREVIOUS_REQUEST_PROGRESS in
measurement report response. To find that curr report
request is in progress, add a check
mac_ctx->rrm.rrmPEContext.pCurrentReq[index]. For valid
mac_ctx->rrm.rrmPEContext.pCurrentReq[index] err vsie
will append.

Change-Id: I91127c5c9ccaa19f20c29c85524b89b873e02e17
CRs-Fixed: 2668127
2020-04-24 17:09:13 -07:00
nshrivas
4731023597 Release 5.2.0.183
Release 5.2.0.183

Change-Id: Ic7bf753cc0497e84d4bb2895d9a1c65a61efb586
CRs-Fixed: 774533
2020-04-24 08:57:30 -07:00
Dundi Raviteja
259898237f qcacld-3.0: Check rmf status only for required frames
rmf status is applicable only for action/deauth/disassoc frames,
so check rmf status only for those frames, this can reduce
overhead of checking rmf status for each and every management frame.

Change-Id: I4fccf921051d624d01e94ee6ef8d9a6b170c7675
CRs-Fixed: 2656967
2020-04-24 08:57:30 -07:00
nshrivas
546b2212ab Release 5.2.0.182Z
Release 5.2.0.182Z

Change-Id: I1b80a52e74c222edd46e8259d587c92fffdc12b5
CRs-Fixed: 774533
2020-04-24 03:40:16 -07:00
sheenam monga
89a452fb6d qcacld-3.0: Conditional compilation of akm suites
Currently, in hdd_sta_akm_suites akm suites are added
without verifying that these are supported by kernel
or not. Support for WLAN_AKM_SUITE_8021X_SUITE_B and
WLAN_AKM_SUITE_8021X_SUITE_B_192 akm suites is added
from kernel 4.12 that can cause compilation issue for
kernel version lesser than 4.12.

Fix is to add a check of  kernel version for
WLAN_AKM_SUITE_8021X_SUITE_B and
WLAN_AKM_SUITE_8021X_SUITE_B_192 suites before adding
as an element in hdd_sta_akm_suites.

Change-Id: Id8c5d1e01da62d63cfe99353e5f9dae5814baaf9
CRs-Fixed: 2667625
2020-04-24 03:40:16 -07:00
nshrivas
932afb3474 Release 5.2.0.182Y
Release 5.2.0.182Y

Change-Id: I5b098f5e6270e813d417b049b021db2cec262416
CRs-Fixed: 774533
2020-04-23 22:41:53 -07:00
Jianmin Zhu
6f122afe83 qcacld-3.0: Validate wma handle before using it
Validate wma handle before using it

Change-Id: I3c78a21bc515422d5443bdac7c2fc897e6d51cff
CRs-Fixed: 2668303
2020-04-23 22:41:52 -07:00
nshrivas
ee7e929a8b Release 5.2.0.182X
Release 5.2.0.182X

Change-Id: I9b904e89c3771a5a24a70be69d9146c433b497c3
CRs-Fixed: 774533
2020-04-23 16:26:35 -07:00
gaurank kathpalia
40d08f88c4 qcacld-3.0: Do not send BLM list to FW if recovering
Do not send the reject AP list to FW if the driver
is in recovering state (SSR) as the FW is already
down.

Change-Id: I31d815e215ca703574348a287f294da46937670f
CRs-Fixed: 2667934
2020-04-23 16:26:35 -07:00
nshrivas
97d3665532 Release 5.2.0.182W
Release 5.2.0.182W

Change-Id: I5b972a0ef8281dfddea324840f51456c603e963a
CRs-Fixed: 774533
2020-04-23 13:12:24 -07:00
Jingxiang Ge
638ff0c744 qcacld-3.0: Supsend fw firstly when ready event timeout
In case wait for ready event timeout from fw, need to
suspend fw firstly, otherwise fw is not aware host
will free resources.

Change-Id: Ifb7ab7fcf0cf468d59dc462dfdb27851fa4e596e
CRs-Fixed: 2669433
2020-04-23 13:12:24 -07:00
nshrivas
727dd8191b Release 5.2.0.182V
Release 5.2.0.182V

Change-Id: Ia366de8aea027f7e8f7ecbc32395bea317d678d3
CRs-Fixed: 774533
2020-04-23 11:32:15 -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
nshrivas
472b23379b Release 5.2.0.182U
Release 5.2.0.182U

Change-Id: Ib8c6796a2814c90e30c4c63fb46a435b124e9431
CRs-Fixed: 774533
2020-04-23 07:42:26 -07:00
Alan Chen
ecb37344d6 qcacld-3.0: Add debug panic if FW ready event is timed out
If FW ready event is timed out, then add debug panic such that we can
collect FW ram dump reliably.

Change-Id: I61f19023675ec6d7bb4ff882d4a08f0ffcee1607
CRs-Fixed: 2670314
2020-04-23 07:42:26 -07:00
nshrivas
df6084fb28 Release 5.2.0.182T
Release 5.2.0.182T

Change-Id: I7f24ddbfa9122a56731d8a2d4f922346ae4ce681
CRs-Fixed: 774533
2020-04-23 04:44:49 -07:00
Utkarsh Bhatnagar
d84070d054 qcacld-3.0: KW issue in wma_update_phymode_on_roam
vdev_mlme was not checked for null before getting dereferenced

Change-Id: I09a696b66304cce525ca6ec382f51799b1b64daf
CRs-Fixed: 2669335
2020-04-23 04:44:49 -07:00
Will Huang
15dcf8301f qcacld-3.0: Fix Static Analyze defect in sme_qos_ft_handoff_required()
In function sme_qos_ft_handoff_required(), CSR_GET_SESSION() is
possible to return NULL pointer, so add check before de-reference it.

Change-Id: Iee4e1d03da550969b4da1b746e4325f59ab72146
CRs-Fixed: 2669223
2020-04-23 04:44:32 -07:00
nshrivas
1cb202c8c9 Release 5.2.0.182S
Release 5.2.0.182S

Change-Id: I508afc97ab7a9aaeea724f070f7ecddc1b2abd48
CRs-Fixed: 774533
2020-04-22 23:59:35 -07:00
Gururaj Pandurangi
8ccb6a72e2 qcacld-3.0: Add support for peer_delete_all in sap
Currently, only broadcast disassociation is supported
and deauth is sent in a unicast manner.
With peer delete all support, HDD sends a single call
to PE for broadcast deauth request. PE module sends a
single broadcast deauth frame and on TX completion,
calls vdev_mgr_peer_delete_all_send. This issues the
new WMI_VDEV_DELETE_ALL_PEER_CMDID to FW to cleanup
peers entries corresponding to VDEV ID and also flush
TIDS internally.
On receiving the peer delete all response, target_if
cleans object manager entries and datapath cleans up.
But PEER unmap is done iterating through all peer entries
individually. After this a single eSAP_STA_DISASSOC_EVENT
is received in HDD signalling the completion of broadcast
deauth procedure.

Change-Id: I928461606154380eef21a02cc7306921ceb9e16e
CRs-Fixed: 2585005
2020-04-22 23:59:18 -07:00
Rajasekaran Kalidoss
62a62e6d78 qcacld-3.0: Reject assoc_req with RSNIE in SAP open network
If STA sends RSN IE in assoc_req for SAP in open network
then check this scenario and reject the request. This prevents
Host from sending WMI_PEER_NEED_PTK_4_WAY in peer
flags which results in a firmware assert.

Change-Id: I8696c9ae33670d019a9c662a3fa9420311fa0629
CRs-Fixed: 2625911
2020-04-22 23:59:00 -07:00
nshrivas
fe42f5d598 Release 5.2.0.182R
Release 5.2.0.182R

Change-Id: I336b494c3856c5ceb1234665c66eab6277711148
CRs-Fixed: 774533
2020-04-22 21:51:53 -07:00
Aditya Kodukula
91b7d01c3f qcacld-3.0: Align feature flag WLAN_POWER_DEBUG properly for power stats
The WLAN_POWER_DEBUG feature flag for power stats is not properly aligned
in the commit Ic395f393580fcd59faa4e4676f67a39ff37bdd1a and hence it is
addressed in this change.

Change-Id: I40236efa31e1d832884984536597122c04ecc269
CRs-Fixed: 2668142
2020-04-22 21:51:53 -07:00
nshrivas
6160bcb575 Release 5.2.0.182Q
Release 5.2.0.182Q

Change-Id: I9becb6ace060d66d05eb5d43f8376031e4ae5610
CRs-Fixed: 774533
2020-04-22 14:02:26 -07:00
Nirav Shah
851c4068eb qcacld-3.0: Enable inline sw_index update for QCN7605
Enable inline sw_index update for QCN7605 as download complete
interrupt is disabled.

Change-Id: Id769275fdbd28a3af6323f2d98de519f8cf1970b
CRs-Fixed: 2649842
2020-04-22 14:02:26 -07:00
nshrivas
b38d91ca2a Release 5.2.0.182P
Release 5.2.0.182P

Change-Id: Iae3b3257b2bc131e4a1b37f817347f69c6f42aac
CRs-Fixed: 774533
2020-04-22 06:22:40 -07:00