Commit Graph

11431 Commits

Author SHA1 Message Date
Varun Reddy Yeturu
a47f08f3dc qcacld-3.0: Do not attempt to delete peer when it is not created
In preassoc state, if the set link state has failed to create the
peer, then send back a failure status to the upper layers and
ensure that the set link state for failure is not called again
because this will eventually call vdev stop and lead to a vdev
stop response and then lead to a peer delete attempt which is
really not needed since the peer has not been created at all.

Change-Id: I265726000204bab51c429a2d00cdd599d8064170
CRs-Fixed: 2286684
2018-08-13 14:41:54 -07:00
Pragaspathi Thilagaraj
766c76f8db qcacld-3.0: Send DISCONNECT_DONE_IND from lim_send_sme_disassoc_ntf
When a station connected to one of the sap interface reassociates
to the other sap interface, the driver triggers internal
disconnect for that station with disassocTrigger =
eLIM_DUPLICATE_ENTRY. Once this station is deleted from firmware
we send add sta for the station lim_send_sme_disassoc_ntf on the
sap interface to which the station is to be connected. But the
first SAP interface doesn't send eWNI_SME_DISCONNECT_DONE_IND to
remove eSmeCommandWmStatusChange.

send eWNI_SME_DISCONNECT_DONE_IND from lim_send_sme_disassoc_ntf
in case eLIM_DUPLICATE_ENTRY.

Change-Id: Ibc3cc8121928fe83cc1d8cf3e98419bf5f7f7d1c
CRs-Fixed: 2286783
2018-08-13 14:41:50 -07:00
nshrivas
fba9ff69ed Release 5.2.0.92C
Release 5.2.0.92C

Change-Id: Ife5742efe7c1b90706514d706c56e5cd00382118
CRs-Fixed: 774533
2018-08-13 12:57:50 -07:00
Dustin Brown
3f0d7103fb qcacld-3.0: Fix misleading indent
hdd_parse_disable_chan_cmd() misleadingly indents code after a for loop
without brackets in such a way that it is easy to assume the code is
inside the for loop, but it is not. Not only does this cause build
failure for some configurations, but is dangerously confusing for future
readers. Remove the misleading indentation in
hdd_parse_disable_chan_cmd().

Change-Id: I4af2bd4b05719354db730ef39a3b6ec18d6f842b
CRs-Fixed: 2290196
2018-08-13 12:57:49 -07:00
Jeff Johnson
89cd1ff6aa qcacld-3.0: Remove scan_id_counter from WMA context
The scan_id_counter in the WMA context is initialized but never
incremented or read. Since it is not actually used, remove it.

Change-Id: Id159ba6ff36ae2a3977978f8799cf16aeee5300d
CRs-Fixed: 2294150
2018-08-13 12:57:46 -07:00
Jeff Johnson
b1a6806814 qcacld-3.0: Remove driver_type from WMA context
The driver_type field in the WMA context is written but never
read. Since it is not actually used, remove it.

Change-Id: I646fea6fc5f08bf090980de755055b58f6fec0cd
CRs-Fixed: 2294149
2018-08-13 12:57:42 -07:00
Jeff Johnson
0cbd0a7fd8 qcacld-3.0: Remove struct hw_mode_idx_to_mac_cap_idx
Change "qcacmn: Remove struct extended_caps" (Change-Id
I96fd072b7d6b58a9c237165fcba7ed8c8da0eae3) in the
qca-wifi-host-cmn project removed the only reference to
struct hw_mode_idx_to_mac_cap_idx. Since this struct is
now obsolete, remove it.

Change-Id: I1b57c09d18ec52574e34487122fe526b10b9f51f
CRs-Fixed: 2294148
2018-08-13 12:57:38 -07:00
nshrivas
5c6e604e10 Release 5.2.0.92B
Release 5.2.0.92B

Change-Id: I87a7e295490f8ec20c2c4fafde9ff8984a729034
CRs-Fixed: 774533
2018-08-11 06:18:08 -07:00
Abhishek Singh
809c41a5f6 qcacld-3.0: Reset wait for key before sending close session
If wait for key is set during close session, the request is dropped
in CSR and thus during SSR the BSS peer and SELF peer are not
deleted resulting in peer leakage.

Fix this by resetting wait for key before sending close session.

Change-Id: I139640ad5ad473372bce24413f7ace1cef32fbc3
CRs-Fixed: 2294417
2018-08-11 06:18:07 -07:00
nshrivas
d89e09f4e4 Release 5.2.0.92A
Release 5.2.0.92A

Change-Id: Ib546082cb1adbd7dd499cfd268ec9ac8811c2566
CRs-Fixed: 774533
2018-08-11 00:29:26 -07:00
Kiran Kumar Lokere
8d685d199d qcacld-3.0: Add support to override HE MU EDCA params
Add support to override HE MU EDCA params to defaults.

Change-Id: I43c51fe1022612ee7e2c6e8177727fa6cebe958c
CRs-Fixed: 2284457
2018-08-11 00:29:25 -07:00
nshrivas
4143c3937b Release 5.2.0.92
Release 5.2.0.92

Change-Id: Iad36107b8d1fa074a91af294695fe100ed28b448
CRs-Fixed: 774533
2018-08-10 20:45:17 -07:00
Manikandan Mohan
dcd0fdfcc0 qcacld-3.0: Update for converged NAN config params
Update driver to use NAN config params based converged CFG
component. Cleanup hdd config references to nan ini params.

Change-Id: I5af85d68ee53ad557e64523f7a1719e328536926
CRs-fixed: 2290360
2018-08-10 20:45:16 -07:00
nshrivas
7bab3b4886 Release 5.2.0.91Z
Release 5.2.0.91Z

Change-Id: I8546ee603ea3da8de6f06943e0864ef0532069cf
CRs-Fixed: 774533
2018-08-10 18:11:04 -07:00
Pragaspathi Thilagaraj
ad7a5f5b3c qcacld-3.0: Remove e_sme_delete_sta_session from active command list
The command e_sme_delete_sta_session command is serialized and
is not removed from the active command list in the response path
at csr_process_del_sta_session_rsp().

Remove the command e_sme_delete_sta_session from active command
list in csr_process_del_sta_session_rsp

Change-Id: Iff36460055bd73705575110d88c3eb75c8052afa
CRs-Fixed: 2292607
2018-08-10 18:11:03 -07:00
nshrivas
f082cd13ed Release 5.2.0.91Y
Release 5.2.0.91Y

Change-Id: I8fae6d63a4a8c6b83025bb37f16fc6a8f6b158ea
CRs-Fixed: 774533
2018-08-09 21:51:29 -07:00
Krunal Soni
05c914ff29 qcacld-3.0: Don't process excessive duplicate auth mgmt frames
When PEER sends auth mgmt frame to DUT and if DUT doesn't ACK
back, PEER sends auth frame again and again till it gets ACK or
timeout occurs.

It has been observed that in busy environment, PEER ends up sending
same AUTH frame almost 100+ times within 20ms apart due to ACK lost.
in such scenario DUT gets busy processing AUTH frames from PE queue
and other low priority queues suffer from starvation.

to fix the situation, drop duplicate auth frames by checking retry
field and sequence number.

CRs-Fixed: 2290133
Change-Id: I1b545dab4d416facc24c3762b86cd1e73981de5c
2018-08-09 21:51:29 -07:00
nshrivas
ac7382e150 Release 5.2.0.91X
Release 5.2.0.91X

Change-Id: I81d9c8ec325a4404a8ba6be749be62dd140ab676
CRs-Fixed: 774533
2018-08-09 16:24:44 -07:00
Dundi Raviteja
4016e93fdd qcacld-3.0: Remove unused variable from hdd_ctx structure
Remove set_antenna_mode_cmpl variable from hdd_ctx structure
as it is not using anywhere.

Change-Id: Ifc3395f944b10da9537815a94c5484312190141a
CRs-Fixed: 2289642
2018-08-09 16:24:43 -07:00
nshrivas
3c6d8d82a8 Release 5.2.0.91W
Release 5.2.0.91W

Change-Id: I2f8a019dc0eb10b811c26bbb23caa5b16b17488f
CRs-Fixed: 774533
2018-08-09 14:34:07 -07:00
Arif Hussain
8b54a03f96 qcacld-3.0: Refactor cp status callback handlers
Duplicate stats buffer in the callback so that all
allocations get freed by its owner, this will avoid
memory leak issue because of race condition between
umac and upper layer.

Change-Id: Id18d75eb9adc46a6147634eb5b1e0babe32c7c37
CRs-Fixed: 2292038
2018-08-09 14:34:07 -07:00
Vignesh Viswanathan
f9a704c92a qcacld-3.0: Add support for 1x1 connect with 1 Tx/Rx Chain action OUI
Add support for new 1x1 connect with 1 Tx/Rx Chain action OUI to be
parsed and sent to the FW. From host during connection, the behaviour
is same as existing connect 1x1 action OUI where nss is sent to 1 to
the FW, but the FW takes the decision to use only one Tx/Rx chain
based on the OUIs defined in the new action ID.

Change-Id: Ia464209043dc73bcc71577c43b28fbe13e780c23
CRs-Fixed: 2264326
2018-08-09 14:34:02 -07:00
Pragaspathi Thilagaraj
1e0e6db964 qcacld-3.0: Check for target ready before sending peer create
When modem shutdown is triggered and HOST driver is in the
middle of a connection attempt, it doesn't check if the fw target
is ready. Instead the driver tries to join multiple AP with same
ssid and for each connection it tries to send peer add as part
of wma_set_link_state.

Add check to see if FW is down in wma_create_peer. Return
failure to LIM instead of sending add peer to firmware.

Change-Id: I4642c844bcc1d7f32888b0f89db5c11ee84c41fe
CRs-Fixed: 2267967
2018-08-09 14:33:58 -07:00
Yeshwanth Sriram Guntuka
bde430efe6 qcacld-3.0: Check for target ready before sending wmi command
SAP stop is in progress when FW down event is received
from platform driver. Vdev_stop command is not sent to
firmware due to target ready check but same check is not
present for self peer_delete command. This results in
assert in firmware since vdev_stop command is not received
before self peer_delete command.

Fix is to set wmi_stopinprogress as part of wma shutdown
notifier callback.

Change-Id: I91fa6aaffe4f35b446a3c8748f168e83620bf4b0
CRs-Fixed: 2266786
2018-08-09 14:33:54 -07:00
nshrivas
3c5c29341d Release 5.2.0.91V
Release 5.2.0.91V

Change-Id: I5803736aee70a35ed42ba6476a5b1447ab9f6fe0
CRs-Fixed: 774533
2018-08-09 08:49:32 -07:00
gaolez
9cb1c18cf8 qcacld-3.0: enable 4addr support for QCS405
Need support "iw dev wlan0 set 4addr on" command on QCS405.

CRs-Fixed: 2293037
Change-Id: I7aa1f59762dafe065714859d89a3013ab5cda408
2018-08-09 08:49:31 -07:00
Vignesh Viswanathan
1fb8d4409d qcacld-3.0: Send del_self_sta_resp during VDEV detach if target not ready
Currently if the target is not ready the WMA VDEV requests are not
sent to the FW. In SAP case where the target is not ready and the
VDEV Stop request has not been sent to the FW, when VDEV detach is
done after VDEV stop, since there is no VDEV stop request previously,
bug_on is triggered.

Send del_self_sta_resp to LIM with success status if target is not
ready.

Change-Id: I2e1d469b2beb05dd8fbb7b07976c65c0c7409d99
CRs-Fixed: 2252602
2018-08-09 08:49:28 -07:00
Vignesh Viswanathan
3d47803b30 qcacld-3.0: Stop Roaming before handing CSA for STA
Currently if the FW sends a Roam Start while the host is handling the
CSA Offload event and triggering a vdev_restart, the FW asserts
when the it receives the vdev_restart as it has already started the
Roam.

Disable roaming by sending RSO Stop when the CSA offload event is
received from the FW and restart RSO when channel switch is complete.

Change-ID: I33e9ce6307bc36994eb5f4a99434cb76ce5d3184
CRs-Fixed: 2289047
2018-08-09 08:49:24 -07:00
nshrivas
abc2b862b8 Release 5.2.0.91U
Release 5.2.0.91U

Change-Id: I712bd583cab3675820aedde85d6398ec6ed13385
CRs-Fixed: 774533
2018-08-09 06:38:37 -07:00
Rajeev Kumar Sirasanagandla
2759a00d80 qcacld-3.0: Change random scan mac attributes to be optional
Change random scan mac_addr and mac_addr_mask attributes
to be optional similar to the standard NL80211 scan trigger interface.
When these attributes are not present, configure default values in
such a way that the random addresses generated are not multicast
but locally administered.

Change-Id: I81acfe05d7f08d1b8f77179816da9df05f2eb233
CRs-Fixed: 2280250
2018-08-09 06:38:36 -07:00
wadesong
caad7c70bc qcacld-3.0: Clear privacy settings if concurrency check fails
Before STA connection starts, privacy settings are imposed to
HDD layer and then checked against concurrency settings. But
when the check for privacy/concurrency fails, the previously
populated privacy settings are not cleared because the CSR
roaming state machine doesn't goto privacy setting clearing
stage under such circumstances.

Add API to clear the privacy settings in HDD layer when
privacy checking against concurrency fails, so that old
privacy settings will not interfere with new settings when
connection starts next time.

Change-Id: Ic8eb28def3839195301e9bbb358f876dc3d46642
CRs-Fixed: 2274858
2018-08-09 06:38:33 -07:00
Liangwei Dong
3fa5cba537 qcacld-3.0: Limit concurrency of STA(WAPI)
When STA role is coexisting with other sessions(P2P, SAP or IBSS),
WAPI encryption mode is not allowed.
Add a new API to check if the connection/start request should
be rejected when:
1) A STA with WAPI encryption is to be connected while there
   is at least one concurrent session already running.
2) A new session is to be started while there is already a STA
   connection with WAPI encryption enabled.

Change-Id: Id3cc90a63a1b502a3a0783ebbc1af33f96620559
CRs-Fixed: 2271280
2018-08-09 06:38:31 -07:00
nshrivas
8832fbf957 Release 5.2.0.91T
Release 5.2.0.91T

Change-Id: I614d439c9f1c9ddd499bb6fa5ad09f948f277234
CRs-Fixed: 774533
2018-08-09 04:24:12 -07:00
gaurank kathpalia
859c936a02 qcacld-3.0: Avoid beacon parsing on channels not in scan list for ACS
When STA is already up on some 2.4Ghz channel and SAP needs to be started
on some 5Ghz channel through ACS, scan channel list contains only 5Ghz
channels. But scan results contains beacons on STA 2.4Ghz channel as well
which is getting parsed contributing to bsscount and rssi on that 2.4Ghz
channel which should not be the scenario as bsscount should be 0 and rssi
should be -100 on this 2.4Ghz channel as it is not present in the scan
channel list sent by HOST to fw.

Give max weight to those channles in the sap_compute_weight
but take the effect of those channels on the channels
present in the ACS scan list.

Change-Id: I51d14aa1bb9b280c6c4d9d0085de86cc7339a4f5
CRs-Fixed: 2290744
2018-08-09 04:24:10 -07:00
Jeff Johnson
1148cb0bb2 qcacld-3.0: Refine the extscan start BSSID hotlist logic
Make the following updates to the extscan start BSSID hotlist logic:
1) Exclusively use the Unified WMI data structures.
2) Use the new wmi_unified_extscan_start_hotlist_monitor_cmd() API.
3) Update the HDD<=>SME interface to enforce the contract that SME
   must not make any assumptions about the buffers provided by HDD.

Change-Id: I4d9f982177bc61a751ba0e7437fe55482dfd2723
CRs-Fixed: 2291946
2018-08-09 04:24:06 -07:00
nshrivas
f45f5b03f2 Release 5.2.0.91S
Release 5.2.0.91S

Change-Id: Ib396d360f5862b0bc6ea55d663aa205039bc0c0d
CRs-Fixed: 774533
2018-08-08 21:00:42 -07:00
Jeff Johnson
a1c6055996 qcacld-3.0: Remove obsolete data structures from wma.h
wma.h contains a large number of obsolete macros and data structures
which are unused, so remove them.

Change-Id: Ideb5e64b5486c3ea652777b27cbb5d1960b154d5
CRs-Fixed: 2292529
2018-08-08 21:00:41 -07:00
nshrivas
e83bb0127a Release 5.2.0.91R
Release 5.2.0.91R

Change-Id: I75f5d2176849495c72d6cfc401c43666282ee67e
CRs-Fixed: 774533
2018-08-08 14:50:38 -07:00
Alok Kumar
2d35a9e331 qcacld-3.0: Fix check_after_deref(REVERSE_INULL) issue
In __hdd_hard_start_xmit, Null-checking for skb under drop_pkt
suggests that it may be null, but it has already been dereferenced
on all paths.

Remove this Null-check for skb under drop_pkt as skb cannot be NULL.

Change-Id: I6c8e816652951a95cff26b26c48b8f39a096b095
CRs-Fixed: 2259256
2018-08-08 14:50:37 -07:00
Alok Kumar
3a6327d4e7 qcacld-3.0: Remove the logs during RX thread buffer post
APPS watchdog bark timeout happens due to continuous excessive
logging of "Not able to allocate context" in ol_txrx_offld_flush
and in ol_rx_data_process. Remove these extra logs.

Change-Id: Idf96ca584d77c68ad771a150604d1b9ca65ba3eb
CRs-Fixed: 2289492
2018-08-08 14:50:34 -07:00
nshrivas
9935d3b87c Release 5.2.0.91Q
Release 5.2.0.91Q

Change-Id: Id5720890839c370e6d7312ce06ab5b68c73808b9
CRs-Fixed: 774533
2018-08-08 12:53:43 -07:00
Venkata Sharath Chandra Manchala
9ac1620c82 qcacld-3.0: Add conditional QCA6390_HEADERS_DEF flag
Add a conditional compilation QCA6390_HEADERS_DEF flag to compile
htt_rx_restitch_mpdu_from_msdus.

Change-Id: I6b526f2dd5d56338e520ec138512b7cf2d849d0c
CRs-Fixed: 2275699
2018-08-08 12:53:42 -07:00
nshrivas
b21c3e0ff7 Release 5.2.0.91P
Release 5.2.0.91P

Change-Id: I65fa900ed74a5cb2620169826f9e732880c60103
CRs-Fixed: 774533
2018-08-08 09:11:46 -07:00
jiad
fa131feaa0 qcacld-3.0: Fix WLAN IPA duplicate deactivation
FW assert is observed when HTT_WDI_IPA_OPCODE_TX_SUSPEND is sent twice
in a row. Issue is that CLIENT_DISCONNECT and AP_DISCONNECT could both
trigger IPA deactivation when CLIENT_DISCONNECT is poped from pending
queue and in another thread AP_DISCONNECT event arrives.

Fix is to add check for resource_unloading flag and if resource_unloading
is set to true, IPA deactivation is ignored since deactivation is already
undergoing.

Change-Id: I68a245809e263ce396b910c4cc3d4e6b071812c0
CRs-Fixed: 2288941
2018-08-08 09:11:45 -07:00
Dustin Brown
a8700cc8f5 qcacld-3.0: Add caller to validate adapter logs
The error logs in hdd_validate_adapter are mostly useless without
knowing where it was called from. To avoid adding additional logs at all
of the call sites, log the caller information from hdd_validate_adapter
itself.

Change-Id: If953412c8435069c0ab87649fbf54130eb81cd09
CRs-Fixed: 2292705
2018-08-08 09:11:41 -07:00
nshrivas
ef22a0610b Release 5.2.0.91O
Release 5.2.0.91O

Change-Id: I3fd5ae7597071bdc609642b2df9b58b5db169fa5
CRs-Fixed: 774533
2018-08-08 05:41:39 -07:00
Nirav Shah
b34413aa1f qcacld-3.0: Enable QCN7605 support
Enable QCN7605 support.

Change-Id: Id0553a6a022962733cbb71ea18ba76450c65ba04
CRs-Fixed: 2292179
2018-08-08 05:41:39 -07:00
Dustin Brown
6350061075 qcacld-3.0: Internalize validate session Id logs
Nearly all the callers of wlan_hdd_validate_session_id() log largely the
same message. Such copy-pasted code has poor maintainability. Instead,
internalize these failure logs into the function itself, which allows us
to control the logs driver-wide much more easily.

Change-Id: Ib7bfa8020492a5cb1df2283f99b827095dfb7578
CRs-Fixed: 2292702
2018-08-08 05:41:35 -07:00
nshrivas
810927e8d5 Release 5.2.0.91N
Release 5.2.0.91N

Change-Id: I678460b688d4e4b233d10ddb270a4296230db469
CRs-Fixed: 774533
2018-08-08 03:39:56 -07:00
Jianmin Zhu
16b94b1725 qcacld-3.0: Reject host suspend in driver open state
After insmod wlan.ko, don't ifconfig wlan0 up, driver will be in
DRIVER_MODULES_OPENED instead of DRIVER_MODULES_ENABLED state.
If host suspend at this time, PCIE will suspend too, when resume,
PCIE bus driver may reset ROME soc during link reconnection, copy
engine is reset too.
When host send wmi cmd to F/W, copy engine will access 0 address,
SMMU fault will happen.

There is logic inside ROME hardware&firmware, if PDEV_SUSPEND or
WOW_ENABLE WMI command is sent to firmware, firmware will decuple
the reset path between ROME pcie interface and ROME soc,
then ROME soc will not be reset if pcie bus driver toggle the
PERST pin to ENDP, only pcie interface part is reset.

Change-Id: I3b6344f69ea70248953af155efd00adf7914e98b
CRs-Fixed: 2243667
2018-08-08 03:39:55 -07:00