Commit Graph

12044 Commits

Author SHA1 Message Date
Sandeep Puligilla
30bb8407cd 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
nshrivas
bfdca56d3d Release 5.2.0.99B
Release 5.2.0.99B

Change-Id: Icaedb24971873fe3d3847492ee56a1db9ac7ef75
CRs-Fixed: 774533
2018-10-01 08:04:45 -07:00
Pragaspathi Thilagaraj
3551caa95b qcacld-3.0: Fix error handling in eWNI_SME_ADD_STA_SELF_RSP
When peer creation fails in wma_create_peer, vdev delete is sent
to the fw and then eWNI_SME_ADD_STA_SELF_RSP is sent to sme.
Here three error cases needs to be handled:
1. The vdev deletion has happened, but the cdp_detach_peer is
not done. So the data path peer remains. Also the vdev_active
flag that was set after vdev creation was not unset.
2. The eWNI_SME_ADD_STA_SELF_RSP msg handler
csr_process_add_sta_session_rsp invokes csr_roam_session_opened
which signals HDD that vdev is created successfully and hdd
calls hdd_vdev_ready and vdev related parameter set commands are
sent to FW for the deleted vdev.
3. Vdev delete is not sent for objmgr peer creation failure in
case of VDEV_TYPE_STA and release vdev object ref count.

Add cdp_vdev_detach() calls during error case and set the
vdev_active flag to false. Handle releasing vdev object ref
count in all needed error case flows.
Propagate the error in wma_vdev_attach() through
csr_roam_session_opened() to HDD and abort the vdev create.

Change-Id: Iec97122d011098fae7ae2a59864fbe8ca8a0980e
CRs-Fixed: 2322212
2018-10-01 09:24:20 +05:30
nshrivas
b54949b2a0 Release 5.2.0.99A
Release 5.2.0.99A

Change-Id: I2f9f3fb66d8cd5cbc290b0ebcd562ba16d0e192e
CRs-Fixed: 774533
2018-09-30 00:45:02 -07:00
Jiachao Wu
3304d6b55a qcacld-3.0: Refine mlme product details configures
Refine mlme product details configures based on converged cfg component.
Remove related legacy codes.

Change-Id: I87ca037ac5c8e6c7cd166a2de17319a9a367fc7c
CRs-Fixed: 2304075
2018-09-30 08:53:46 +08:00
nshrivas
d438427e73 Release 5.2.0.99
Release 5.2.0.99

Change-Id: I069ca2b621723dee80424c5f140c1ce4b21b2569
CRs-Fixed: 774533
2018-09-29 01:43:01 -07:00
Jianmin Zhu
82a69bf343 qcacld-3.0: Release cmd before qdf_session_close_event completed
Need release cmd e_sme_command_del_sta_session before
hdd_sme_close_session_callback.
hdd_sme_close_session_callback will call
qdf_event_set(&adapter->qdf_session_close_event),
hdd_vdev_destroy will destroy vdev after qdf_session_close_event
completed, while csr_release_command will still access vdev.

Change-Id: Idc581bdd4f1d63b4903ee802326474ba83d528e5
CRs-Fixed: 2324616
2018-09-29 01:43:00 -07:00
nshrivas
388d7efe9d Release 5.2.0.98Z
Release 5.2.0.98Z

Change-Id: I3155e9a01b1ad5e29fc9f5732f6f4345d2763377
CRs-Fixed: 774533
2018-09-28 23:38:44 -07:00
Rajeev Kumar
eb6ec172d7 qcacld-3.0: Reduce excessive console logging from chan info cb
wlan_hdd_chan_info_cb is using info log level to log debug
message and its leading to excessive console logging since
info logs are logged on console. Reduce the log level to
avoid excessive console logging.

Change-Id: I79f67aec5c223126a0de74965336048dc7d4a547
CRs-Fixed: 2323586
2018-09-28 23:38:44 -07:00
nshrivas
86134e02ec Release 5.2.0.98Y
Release 5.2.0.98Y

Change-Id: Ic5d4f8791b639dd91644837e982d6b3a1f224c62
CRs-Fixed: 774533
2018-09-28 21:33:51 -07:00
Will Huang
7b39e19a60 qcacld-3.0: Remove reachable QDF_BUG(0) in wma_vdev_start_resp_handler
While handling the WMI_VDEV_START_RESP_EVENTID WMI FW event a reachable
QDF_BUG() can occur, because the message coming from out is not
reliable.

Change-Id: I9a142152a5d65e8fa25590eac1bc63279a1de4ba
CRs-Fixed: 2321490
2018-09-28 21:33:51 -07:00
nshrivas
a7ec45d54e Release 5.2.0.98X
Release 5.2.0.98X

Change-Id: Ic27afc64d43677498068f9db8171656d9e6c37f3
CRs-Fixed: 774533
2018-09-28 19:01:43 -07:00
Pragaspathi Thilagaraj
f445a4badf qcacld-3.0: Remove legacy call to cds_is_target_ready
When wma_create_peer is called, driver checks for
cds_is_target_ready and the macro CDS_DRIVER_STATE_FW_READY is
unset during the wlan_hdd_pld_uevent. This results in race
condition where the wma_peer_create fails due to
cds_is_target_ready() failure and wma_vdev_delete is sent from
wma_vdev_attach. In wmi_stopinprogress is set when firmware is
down. But this is set only after a small delay and the vdev
commands reach the fw, which results in a race condition.

Remove the cds_is_target_ready() call from wma_create_peer.
Place the call to wma_wmi_stop() to set the wmi_stopinprogress
flag immediately after the wlan_hdd_pld_uevent is received.

Change-Id: Iea53931771afd93ffaeabf704bbaffcf2460284f
CRs-Fixed: 2320538
2018-09-28 19:01:42 -07:00
Harprit Chhabada
bec6de418b qcacld-3.0: Add CFG/INI items to mlme component
Add following mlme CFG items to mlme component

1.CFG_RTS_THRESHOLD
2.CFG_FRAGMENTATION_THRESHOLD

Change-Id: I07b5dcffe8d3d03fa2cbecc7be563c407dc4d61e
CRs-Fixed: 2313600
2018-09-28 19:01:39 -07:00
Ashish Kumar Dhanotiya
cd311c87fc qcacld-3.0: Update correct PHY mode while processing ch_info_req
Currently PHY mode is not getting updated and it is being set as
0, which is resulting in an invalid channel setting to FW
for LOWI.

To address this issue update the PHY mode correctly.

Change-Id: I1f650268e2ba1814a435994d558b4b68030eb8c1
CRs-Fixed: 2318551
2018-09-28 19:01:35 -07:00
Varun Reddy Yeturu
1f10370d1b qcacld-3.0: Fix unsafe pointer dereference in TWT enable event handler
Fix MAC context NULL pointer dereference in
wma_twt_en_complete_event_handler().

Change-Id: I4b8454032bf44827b174d131145b849935a8a5c4
CRs-Fixed: 2323570
2018-09-28 19:01:31 -07:00
nshrivas
118acc4c33 Release 5.2.0.98W
Release 5.2.0.98W

Change-Id: If07e1980d1973805b5c300c6bb4e8e5095417ba9
CRs-Fixed: 774533
2018-09-28 14:29:21 -07:00
Amar Singhal
27be4442e1 qcacld-3.0: Do not use pointer for regulatory data
Regulatory data can change without notice due to various conditions in the
WLAN sub-system. Therefore, to protect integrity of regulatory data,
always use a copy of the data.

Change-Id: If2c5c45c421e7a88285d72ea94d9ad172d22fb7e
CRs-Fixed: 2321516
2018-09-28 14:29:20 -07:00
Vignesh Viswanathan
1824d50480 qcacld-3.0: Do not limit the number of scan results to 4 for Beacon Report
Currently the number of scan entries populated from the scan results
of RRM issued scan for beacon report is limited to 4 entries in
sme_rrm_send_scan_result API. This is inspite of the fact that the
API sme_rrm_send_beacon_report_xmit_ind can handle more than 4 results
and will do the fragmentation of 4 results per frame before sending
it to the RRM.

Remove the limit of 4 entries in sme_rrm_send_scan_result and send
all the valid scan result entries to RRM.

Change-Id: I32448616a9e5f19ee816d60db8fef6e6c2f8908b
CRs-Fixed: 2321077
2018-09-28 14:29:16 -07:00
nshrivas
a6dc6e9ac1 Release 5.2.0.98V
Release 5.2.0.98V

Change-Id: I70e7beec9dafa50d6e2ddaa6a94cf3cef1d4dd9f
CRs-Fixed: 774533
2018-09-28 09:06:24 -07:00
Pragaspathi Thilagaraj
51d0a18123 qcacld-3.0: Add MLME CFG items of WEP configs
Add the WEP ini configs to MLME CFG for the following:
1. WNI_CFG_WEP_DEFAULT_KEY_1
2. WNI_CFG_WEP_DEFAULT_KEY_2
3. WNI_CFG_WEP_DEFAULT_KEY_3
4. WNI_CFG_WEP_DEFAULT_KEY_4
5. WNI_CFG_WEP_DEFAULT_KEYID
6. WNI_CFG_SHARED_KEY_AUTH_ENABLE
7. WNI_CFG_OPEN_SYSTEM_AUTH_ENABLE
8. WNI_CFG_AUTHENTICATION_TYPE
9. WNI_CFG_PRIVACY_ENABLED

Add basic infra for WEP cfg items

Change-Id: I6c2f6f69feeb73234a6cab7ccaaed7637f041ed2
CRs-Fixed: 2321317
2018-09-28 09:06:23 -07:00
Alok Kumar
0d1acac6bf qcacld-3.0: Unpause the Priority Queue for deficient pools
Priority Queue gets paused due to descriptor deficiency which
needs to be unpaused after distributing descriptors from a
source pool to deficient pool.

Unpause the Priority Queue of deficient pool when avail->desc
count is more than start_th.

Change-Id: Ia91fdd0ac39bf8a4ac42dafa42d346993bf6a38e
CRs-Fixed: 2318031
2018-09-28 09:06:20 -07:00
nshrivas
21d8f4f48f Release 5.2.0.98U
Release 5.2.0.98U

Change-Id: I68016a5716568c82162f2afcbb9860f04f062ce6
CRs-Fixed: 774533
2018-09-28 01:21:16 -07:00
Vignesh Viswanathan
7c43a7a55f qcacld-3.0: Check SME connection status before issuing reassoc
Currently when the supplicant sends a connect with bssid_hint and
prev_bssid, driver issues a roam_invoke (fast reassoc) command to the
FW. However, when this connect is received in the supplicant context
and if the driver is currently processing a disassoc/deauth from the
AP in the mc thread, then the CSR roam connection state would not be
associated but the HDD STA context connection state would still be
associated. In this scenario, since the disconnection is in progress
and VDEV Down might already be sent to the FW, the roam_invoke command
is ignored and FW does not send any response. However the driver
assumes that roaming is in progress and blocks all incoming scan/
connect requests from supplicant leading to a state where no further
connections can go through.

In hdd_reassoc, check the CSR Connection state also to check if
the current state is associated and then issue roam_invoke to FW.

Change-Id: I321e99b060d6ce22517a3dd604b0f4d08dd5918d
CRs-Fixed: 2319641
2018-09-28 01:21:15 -07:00
Abhishek Singh
8e913fa1ec qcacld-3.0: Handle channel switch failure in START_RESTART_PROGRESS
During CAC wait if radar indication is found, SAP try to switch to
new channel. If this channel switch fails, SAP is stopped
internally.

This stopped indication is not handled if VDEV state is
START_RESTART_PROGRESS and thus vdev down is not sent to vdev FSM.

Handle SAP stop in START_RESTART_PROGRESS vdev state.

Change-Id: I92e48cc9a85249c88315fbb09fe1a61bd07983fd
CRs-Fixed: 2322996
2018-09-28 01:21:11 -07:00
nshrivas
42900d5081 Release 5.2.0.98T
Release 5.2.0.98T

Change-Id: Ic3ac46cbcee198f0ad277d5c78aeb8a969f78cd9
CRs-Fixed: 774533
2018-09-27 23:41:50 -07:00
Dundi Raviteja
85a240a6c0 qcacld-3.0: Relocate IE whitelist cfg items
Relocate IE whitelist config items to FW offload component.

Change-Id: Idcb665f4d6069c0723b0a8ae17e54d8cbe71239d
CRs-Fixed: 2316597
2018-09-27 23:41:49 -07:00
nshrivas
e18038af1c Release 5.2.0.98S
Release 5.2.0.98S

Change-Id: Ie028a078d606b42b9e78574a1cacea7a8f6052ec
CRs-Fixed: 774533
2018-09-27 20:24:25 -07:00
Rajeev Kumar
6c3db86e5b qcacld-3.0: Remove enter and exit logs from bus bw handler
HDD bus bandwidth handler runs every 100ms and enter, exit logs
at every 100 ms is over flowing driver log buffer hence remove
hdd_enter and hdd_exit logs from __hdd_bus_bw_work_handler.

Change-Id: Ia3a3163eebf442af7371bb0bcd09bccff1f199d9
CRs-Fixed: 2323286
2018-09-27 20:24:24 -07:00
Dundi Raviteja
fb9357aa38 qcacld-3.0: Create psoc in hdd_context_create just after cfg_parse
HDD config params are getting used before creating and storing psoc
in hdd context which may cause NULL pointer dereference of psoc.

To mitigate this create psoc and parse cfg ini params just after
cfg_parse() in hdd_context_create().

Change-Id: Ida2b81eef0ebbfba2749ca89b63980201830a5e2
CRs-Fixed: 2321959
2018-09-27 20:24:21 -07:00
Harprit Chhabada
1111aa3d6a qcacld-3.0: Fix the compilation after disabling CONFIG_CRYPTO_COMPONENT
wlan_crypto_set_vdev_param() used in hdd_populate_crypto_auth_type(),
hdd_populate_crypto_akm_type() and hdd_populate_crypto_cipher_type()
is not defined when CONFIG_CRYPTO_COMPONENT is disabled

Change-Id: I5bccf391886d4db48a79ba67b903180ea626ad37
CRs-Fixed: 2321455
2018-09-27 20:24:17 -07:00
nshrivas
0e1a7b6b21 Release 5.2.0.98R
Release 5.2.0.98R

Change-Id: If94f548805ac3ef416b0000fd3b62b9703265e22
CRs-Fixed: 774533
2018-09-27 18:54:08 -07:00
Varun Reddy Yeturu
951de5dc27 qcacld-3.0: Restrict the band in SET PCL command
Restrict the band of PCL to the connected band if
intra band roaming is enabled

Change-Id: I78e9a29d7f8eb226e899e944e4d2980629c52a01
CRs-Fixed: 2302607
2018-09-27 18:54:07 -07:00
nshrivas
c0edc4ada3 Release 5.2.0.98Q
Release 5.2.0.98Q

Change-Id: Ibb84804ca7190b75a3672aeb94d6e5227da4a06c
CRs-Fixed: 774533
2018-09-27 16:36:41 -07:00
Arunk Khandavalli
987c8d514a qcacld-3.0: cleanup the interface if it went down during SSR
If the interface down is issued during the SSR the driver simply
rejects the interface down and silently initializes during the
reinitialization. This can result in resource leakages and also
results in upper layer and driver out-of-sync.

Hence mark the adapter that interface went down during ssr and
cleanup the same during the end of reinitialization so we can
cleanup all the resources.

Change-Id: I426eff3be09abdbafeaf7501df551ea7c49a0f47
CRs-Fixed: 2256433
2018-09-27 16:36:41 -07:00
nshrivas
d76d55854b Release 5.2.0.98P
Release 5.2.0.98P

Change-Id: Iad125d2360078b2d9b65b93c84465ce488552422
CRs-Fixed: 774533
2018-09-27 15:00:34 -07:00
Sandeep Puligilla
45e0c5e030 qcacld-3.0: Add VDEV state machine for STA
Add support for VDEV state machine support
for STA connection

Change-Id: Ifbf12d13e936b6535baee8f9bbf7062e56f84014
CRs-Fixed: 2321423
2018-09-27 15:00:33 -07:00
nshrivas
0fe832f428 Release 5.2.0.98O
Release 5.2.0.98O

Change-Id: I169342ee49f3dd7fa47e890ba9f692f6e459c155
CRs-Fixed: 774533
2018-09-26 16:58:35 -07:00
Pragaspathi Thilagaraj
84b728464a qcacld-3.0: Check for zero mac during hdd adapter open
When zero mac address is configured on nvram, the
hdd_open_adapter accepts the value and passes this zero mac to
csr_session_open where the self mac address is stored as zero
value mac and peer creation is done with the same. When peer
delete is sent to firmware with this mac, firmware asserts.

Add check to validate mac address value is not zero.

Change-Id: I077c29c98ef4e1b11e4c587224acd4405629fa83
CRs-Fixed: 2310499
2018-09-26 16:58:34 -07:00
Dustin Brown
05d8130311 qcacld-3.0: Remove hdd_context.hdd_psoc
The name 'hdd_psoc' is misleading, since it is not actually an HDD psoc
context. Rather, it is the Object Manager psoc context. Rename hdd_psoc
to psoc for consistency, and to make room for HDD to have its own psoc
context.

After I1aa67d0554400ed552dc488805ba3421531a26c3, replace the
remaining instances of hdd_psoc and finally remove hdd_psoc from
hdd_context.

Change-Id: If9a4941e18a75563f9ab978bd4b38bd1145e4ada
CRs-Fixed: 2312429
2018-09-26 16:58:31 -07:00
nshrivas
75c20f3716 Release 5.2.0.98N
Release 5.2.0.98N

Change-Id: I0c578ac346433cdfd10bdeeb022491a5141cdc3e
CRs-Fixed: 774533
2018-09-25 15:33:38 -07:00
gaurank kathpalia
e5a17e4acb qcacld-3.0: Add MLME-CFG items for feature flags
Add these cfg mlme items for feature flags:-
1. ACCEPT_SHORT_SLOT_ASSOC_ONLY
2. HCF_ENABLED
3. RSN_ENABLED
4. 11G_SHORT_PREAMBLE_ENABLED
5. 11G_SHORT_SLOT_TIME_ENABLED
6. CHANNEL_BONDING_MODE
7. CFG_BLOCK_ACK_ENABLED

Change-Id: Id55299ece0169d40608df8508fbd768bb8aed741
CRs-Fixed: 2315584
2018-09-25 15:33:37 -07:00
Nirav Shah
93b3235b38 qcacld-3.0: Enable QCA_WIFI_3_0 flag based on CONFIG_WIFI_3_0_ADRASTEA
Enable QCA_WIFI_3_0 flag based on CONFIG_WIFI_3_0_ADRASTEA
and not based on CONFIG_ICNSS to enable it in Genoa.

Change-Id: I819fcbb637c4ed302cf71d32e83b113911270750
CRs-Fixed: 2317206
2018-09-25 15:33:33 -07:00
Abhishek Singh
0b0105f565 qcacld-3.0: Enable logging for common mlme and vdev state machine
Enable logging for common mlme and vdev state machine.

Change-Id: I4b64101a66a4f19c6d84d1d0bb7f4927dd1e2c9b
CRs-Fixed: 2321730
2018-09-25 15:33:28 -07:00
nshrivas
026492bd72 Release 5.2.0.98M
Release 5.2.0.98M

Change-Id: Iabfce678b763b2d806e34a4fff21090933b496f8
CRs-Fixed: 774533
2018-09-25 13:52:41 -07:00
Dustin Brown
1dbefe660e qcacld-3.0: Replace hdd_psoc with psoc
The name 'hdd_psoc' is misleading, since it is not actually an HDD psoc
context. Rather, it is the Object Manager psoc context. Rename hdd_psoc
to psoc for consistency, and to make room for HDD to have its own psoc
context.

After the introduction of hdd_context.psoc in
I9971c478c0d1dc111bb20a7cd6614f73ffb0b15d, replace more instances of
hdd_psoc with psoc.

Change-Id: I1aa67d0554400ed552dc488805ba3421531a26c3
CRs-Fixed: 2315992
2018-09-25 13:52:40 -07:00
nshrivas
45fdd10bde Release 5.2.0.98L
Release 5.2.0.98L

Change-Id: Iffde7b008e994016db2c30d072f22b2433f3d59f
CRs-Fixed: 774533
2018-09-25 08:31:30 -07:00
Sourav Mohapatra
b22d2691f6 qcacld-3.0: Correct the actual rate flags being sent to framework
Presently, in VHT case also, the HT MCS rate flag is being set when the
SGI is enabled. This is causing the kernel to misinterpret the rates.
Instead of getting the VHT rates, the kernel is enabling the HT rates.
This issue is not present in kernel 4.9 as the preference was given to
VHT rates. For kernel 4.14, the preference is given to HT rates thus
highlighting the problem.

To solve this issue, do not set the RATE_INFO_FLAGS_MCS for SGI enabled.

Change-Id: Icce5b661c3fee21fa4522f06ff54827238e0d255
CRs-Fixed: 2317669
2018-09-25 08:31:29 -07:00
nshrivas
a753a38e44 Release 5.2.0.98K
Release 5.2.0.98K

Change-Id: I913d5936d23efc51bfa9c75764e4eb86d55a73ab
CRs-Fixed: 774533
2018-09-25 07:01:54 -07:00
Rajeev Kumar Sirasanagandla
9770bbac0a qcacld-3.0: Add ETSI13 SRD channels info in dump_survey
Currently, in __wlan_hdd_cfg80211_dump_survey(), ETSI13 SRD channels
169 and 173 are not considered for filling channel survey info.

To fix this, consider ETSI13 SRD channels when WLAN_FEATURE_DSRC
is not defined.

Change-Id: I71307d58548304df6c1dcfa377dfe677a15db89f
CRs-Fixed: 2319454
2018-09-25 07:01:53 -07:00