Commit Graph

11346 Commits

Author SHA1 Message Date
Ashish Kumar Dhanotiya
9c331b9916 qcacld-3.0: Enable Abstraction mechanism for OS API's
Provide support for abstraction layer for OS API's.

Change-Id: I245a83ac0ab1252e095641188736cc5868ed306f
CRs-Fixed: 2294191
2018-08-14 13:22:13 -07:00
nshrivas
a159c99595 Release 5.2.0.92I
Release 5.2.0.92I

Change-Id: I99485147d931557ffb779822a63fba3e9e6af3fb
CRs-Fixed: 774533
2018-08-14 02:15:43 -07:00
Rajasekaran Kalidoss
ef058525b9 qcacld-3.0: Add vdevId in tAggrAddTsParams
pe session_id should not be used as vdev_id.
Add a vdevId field to tAggrAddTsParams struct
and fill smeSessionId as vdevId and pass this
down.

Change-Id: Id021dda35a32f7870277d405c85a0878d7baa3f3
CRs-fixed: 2272126
2018-08-14 02:15:43 -07:00
Nirav Shah
e6194ac8ad qcacld-3.0: Update data path statistics log level
Do not required to print function and line number
for data path statistics function which is invoked
by ioctl.
Change data path statistics to info print so
that it can be printed in dmesg as well.

Change-Id: I4b5ea4202255ace71dbb6f9a4bbff6f93e496425
CRs-Fixed: 2278885
2018-08-14 02:15:39 -07:00
nshrivas
6482d612f6 Release 5.2.0.92H
Release 5.2.0.92H

Change-Id: Ib7e748ef77921e864c83a0013da33b72d9f109de
CRs-Fixed: 774533
2018-08-13 23:15:18 -07:00
Qiwei Cai
e689a26cd8 qcacld-3.0: Featurize some vendor commands
Featurize some vendor commands to compile out when not needed.

Change-Id: I6757b5764930efbd9cd1c7ab74e5990e96267421
CRs-Fixed: 2270461
2018-08-13 23:15:17 -07:00
nshrivas
2bc86209b8 Release 5.2.0.92G
Release 5.2.0.92G

Change-Id: I01ec99530f89863b24097f6a979a0d0a7662f1b0
CRs-Fixed: 774533
2018-08-13 21:37:32 -07:00
Pragaspathi Thilagaraj
210362a1c2 qcacld-3.0: Fix memory corruption in pe_free_nested_messages
When peer creation fails in wma_set_link_state, wma sends the
WMA_SET_LINK_STATE_RSP msg to LIM and Lim frees the msg->bodyptr
But there is a situation occurs where after this wma_peer_create
fails, mc thread stop sys event also occurs where the mac_stop
is invoked which calls the pe_free_msg -> pe_free_nested_messages
In pe_free_nested_messages, if the msg type is
WMA_SET_LINK_STATE_RSP, we free the msg->bodyptr->callbackArg.
This callbackArg points to the PE session. Trying to free the
PE session results in memory corruption.

Just pass the session id as callback argument when the callback
is lim_post_join_set_link_state_callback.

Change-Id: I27f9127685ac7ef8d215b135f1625e8e2f225fc0
CRs-Fixed: 2287827
2018-08-13 21:37:31 -07:00
nshrivas
534cd0868d Release 5.2.0.92F
Release 5.2.0.92F

Change-Id: I6954f59554d9e87d9e63b159910f02960fed6eb2
CRs-Fixed: 774533
2018-08-13 18:12:40 -07:00
Sandeep Puligilla
c3588e5f57 qcacld-3.0: Handle peer assoc failure
Peer assoc command expects a response from firmware so peer
assoc timer is started at wma once command sent to firmware.
In the failure scenario peer assoc command is dropped at wma due to
unavilable 11b rates but timer was not stopped. So at later point of
time timer got expired and it triggered timeout error handling.

Dont start the timer in failure scenario and send failure response to LIM
if the peer assoc command failed to send command to firmware.

Change-Id: Iaa644fbe7940502fc07b5110787c2dc5b58f4612
CRs-Fixed: 2292610
2018-08-13 18:12:40 -07:00
Jianmin Zhu
54cfab35b7 qcacld-3.0: Do concurrency check when change SAP channel by iwprv
After bring up SAP(2G)+SAP(5G) DBS mode, initiate CSA on SAP2
from 5G to 2G (DBS mode to SCC mode) with cmd:
	iwpriv wlan1 setChanChange X
assert will happen.

Fix: SAP+SAP on same band on Helium is not PORed case yet,
Do concurrency check for path: iwpriv wlan0 setChanChange X.

Change-Id: Iacd6f2b4c49f4bb52739f602e7ba1e8cd9be04bc
CRs-Fixed: 2289366
2018-08-13 18:12:36 -07:00
Sravan Kumar Kairam
ad65331565 qcacld-3.0: Remove debug assert in wlan_ipa_uc_disable_pipes
Remove the debug assert added in wlan_ipa_uc_disable_pipes when
the check for IPA pipes disabled is true. Anyway logging is in
place to give information about the scenario.

Change-Id: If2906f0ee827e84df4594693702064cd249c564c
CRs-Fixed: 2295461
2018-08-13 18:12:32 -07:00
nshrivas
47c66ef668 Release 5.2.0.92E
Release 5.2.0.92E

Change-Id: I28e78c61f560989d736a71a4e47f38e61169e094
CRs-Fixed: 774533
2018-08-13 16:28:44 -07:00
Rajeev Kumar Sirasanagandla
301aacb4e3 qcacld-3.0: Avoid camel case notation for SAP FSM states
Kernel checkpatch is throwing style issues due to use of camel case
notation for SAP FSM states.

To fix this, rename states according to kernel coding guidelines.

Change-Id: Ia09cccb7c51a61436d067710a763bed7f2437820
CRs-Fixed: 2295580
2018-08-13 16:28:43 -07:00
nshrivas
49e73071b2 Release 5.2.0.92D
Release 5.2.0.92D

Change-Id: I5e020caf884baebecf830dfa6952535574c2d17b
CRs-Fixed: 774533
2018-08-13 14:41:55 -07:00
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