Commit Graph

3940 Commits

Author SHA1 Message Date
Abhishek Singh
8dfbd69c30 qcacld-3.0: Add kbuild changes for common scan component
Add kbuild changes to include scan common project files.

Change-Id: I6cc481097fb621db4f0f412101d07f140804052c
CRs-Fixed: 2013212
2017-03-07 10:49:52 -08:00
qcabuildsw
c0d07c8be7 Release 5.2.0.13E
Release 5.2.0.13E

Change-Id: Iff0a0dc894d5ce253e1d830e1d79204d6a8a7794
CRs-Fixed: 688141
2017-03-06 12:36:35 -08:00
Dustin Brown
bf6d16bbf6 qcacld-3.0: Acquire wakelock before sending VDEV_STOP
The host driver should not attempt to power collapse while pending
VDEV_STOP commands are in flight. Acquire a wakelock before sending a
VDEV_STOP request to firmware, and release it upon receipt of VDEV_STOP
response.

Change-Id: Iac90fc249e9571090df6948ed931cc07b67e938d
CRs-Fixed: 2014496
2017-03-06 12:36:34 -08:00
qcabuildsw
dafd8f6b5e Release 5.2.0.13D
Release 5.2.0.13D

Change-Id: Iec0ba1a53b5d83448aa794246297db0a57e2ff95
CRs-Fixed: 688141
2017-03-06 11:54:31 -08:00
Sandeep Puligilla
d000421944 qcacld-3.0: HDD changes for common scan module
HDD changes to support scan start and abort

Change-Id: I3260369879108f167453d5e0b8435c30ed729c5e
CRs-Fixed: 2013212
2017-03-06 11:54:30 -08:00
qcabuildsw
3a748bb5f3 Release 5.2.0.13C
Release 5.2.0.13C

Change-Id: I50633254bbbceda5bd697d8aef56c06e515d94fa
CRs-Fixed: 688141
2017-03-06 09:21:25 -08:00
Ashish Kumar Dhanotiya
3c30842fc8 qcacld-3.0: Check WIFI module status during wifi logger start
During wifi logger start if the modules are in close state,
it will access uninitialized lock.

To handle this, check module status during start of the wifi logger.

Change-Id: I10b3fffa45475c602c22b548d521f75c627b133e
CRs-Fixed: 2012742
2017-03-06 09:21:24 -08:00
qcabuildsw
64ebe120fc Release 5.2.0.13B
Release 5.2.0.13B

Change-Id: I105ca3aaa25a5050d14541c9d804a1c3c1b13789
CRs-Fixed: 688141
2017-03-06 03:38:40 -08:00
Sen, Devendra
154b3c4cc2 qcacld-3.0: Add host diag events for wlan disconnection state
Add new diag events for the wlan disconnection these
events will be used to inform the wlan disconnection scenario.

Change-Id: I6bdddb2d3f45deca2dc92a94e2abf59f46d7c38f
CRs-Fixed: 1108380
2017-03-06 03:38:39 -08:00
qcabuildsw
ea6df895ad Release 5.2.0.13A
Release 5.2.0.13A

Change-Id: If8989168a5fd2407eb878af8392f75c6b731705f
CRs-Fixed: 688141
2017-03-06 02:08:05 -08:00
Selvaraj, Sridhar
c2fe7a3671 qcacld-3.0: Add support for QCN IE in probe request and assoc request
Add QCN IE with version attribute to probe request and assoc/reassoc
request. Add support to detect the QCN IE in beacon, probe response and
assoc/reassoc response.

Change-Id: Ieac62517b09fb5bcd2a1709a352035f422c9ce63
CRs-Fixed: 1116843
2017-03-06 02:08:04 -08:00
qcabuildsw
c81b3fe210 Release 5.2.0.13
Release 5.2.0.13

Change-Id: I5484c3b4a1007fe3387330912b62fb3dfba3ba30
CRs-Fixed: 688141
2017-03-05 23:06:16 -08:00
Himanshu Agarwal
18d6b8c19b qcacld-3.0: Replace HELIUMPLUS_PADDR64 with HELIUMPLUS
Replace HELIUMPLUS_PADDR64 preprocessor macro with already
existing preprocessor macro HELIUMPLUS.

Change-Id: I4f109fc939e12323565bc05c89cc51dff3f3a7f3
CRs-Fixed: 2006551
2017-03-05 21:26:23 -08:00
qcabuildsw
ef5ab1a603 Release 5.2.0.12Z
Release 5.2.0.12Z

Change-Id: I10805a2cf8d5103970dd07890a267e14bb378f10
CRs-Fixed: 688141
2017-03-04 09:45:59 -08:00
wadesong
bf66554532 qcacld-3.0: Check HT20 rate set for mcs index if HT40 rate flag is set
qcacld-2.0 to qcacld-3.0 propagation

When HT40 rate flag is set, it's likely that packets are sent in
HT20 rate, therefore, the driver need check HT20 rate set to
calculate mcs index.

Change-Id: I29022ec26d72a5361f152dc20af13783d0dac984
CRs-Fixed: 1027530
2017-03-04 09:45:58 -08:00
gbian
32b067081b qcacld-3.0: Fix the compiling error for macros SM/MS redefinition
Fix the compiling error for macors SM/MS redefinition in both htc.h
and dfs_phyerr_tlv.h.

Change-Id: I591bc8a55542ff8f3b6ce27201c33164e4bdfb66
CRs-Fixed: 1102190
2017-03-04 09:45:56 -08:00
gbian
1bd297c7d7 qcacld-3.0: Reset tx desc type after calling msdu complete conditionally
qcacld-2.0 to qcacld-3.0 propagation

After calling ol_tx_msdu_complete, it will reset the tx desc's pakcet
type to ol_tx_frm_freed state. So there might be a race condition
if there is another thread try to allocate this tx description between
these two operations.

The ol_tx_msdu_complete doesn't always free the tx_desc according to the
tx desc type. So need to reset the tx desc's packet type only when the
ol_tx_msdu_complete hasn't freed it.

Change-Id: I0d96ef60d10048c524e93209469e8cdf20ce22c6
CRs-Fixed: 1087688
2017-03-04 09:45:55 -08:00
bings
6b3614ef4e qcacld-3.0: Fix FW crash caused by lack of rx reorder buffer
qcacld-2.0 to qcacld-3.0 propagation

In high latency, Firmware will trigger crash when no more reorder buffer
left. The number of prealloc reorder buffers depend on tid number, which
equals 4 * clients number, so reassign num_tids in wmi_resource_config to
4 * no_of_peers_supported as Firmware suggested.

Change-Id: If715cf201a283fa956b53dcdaccd534e57986fcb
CRs-fixed: 2003903
2017-03-04 09:45:53 -08:00
qcabuildsw
885c54c5b0 Release 5.2.0.12Y
Release 5.2.0.12Y

Change-Id: I14efc4bab144de66a2d154168df6163a728931d3
CRs-Fixed: 688141
2017-03-04 08:13:49 -08:00
Nishank Aggarwal
e239d9680d qcacld-3.0: Change default firmware log levels
Change default log level for all firmware modules and
also per module with a specific log level.

Change-Id: I33275f2737e0e56daea4e2edd8debca8016f1ed0
CRs-Fixed: 2013439
2017-03-04 08:13:48 -08:00
qcabuildsw
c8043e29cc Release 5.2.0.12X
Release 5.2.0.12X

Change-Id: Id3801fdb99bed994ec862606116054b7db1dc4bd
CRs-Fixed: 688141
2017-03-04 06:28:06 -08:00
Sen, Devendra
c441b213ab qcacld-3.0: Fix INI template for IBSS feature
Wrong name was added in doc for gIbssPs1RxChainInAtim INI.

Change-Id: I92efc93cb52aaf6c8d08e02c42727e863ba104f4
CRs-Fixed: 2010115
2017-03-04 06:28:05 -08:00
qcabuildsw
bc3b04b5b2 Release 5.2.0.12W
Release 5.2.0.12W

Change-Id: I4555c210b31c9409e9766082cf95609cff18f539
CRs-Fixed: 688141
2017-03-03 13:13:27 -08:00
Jeff Johnson
a89e25da8a qcacld-3.0: Add support for new chainmask controls
Firmware has implemented two new chanimask control parameters:
WMI_PDEV_PARAM_SMART_CHAINMASK_SCHEME
WMI_PDEV_PARAM_ALTERNATIVE_CHAINMASK_SCHEME

Add two new INI parameters to control the values of these firmware
parameters.

Change-Id: Iafe8d38684c5f2ab3f4150eee722461ec21e3e21
CRs-Fixed: 2011634
2017-03-03 13:13:26 -08:00
qcabuildsw
3c62c86b70 Release 5.2.0.12V
Release 5.2.0.12V

Change-Id: Idc58d81379c1fa499b2ab088cfa34ee365deccd4
CRs-Fixed: 688141
2017-03-03 13:13:25 -08:00
Nitesh Shah
90a02e90bc qcacld-3.0: Remove mutex inside few tdls functions
Following tdls functions wlan_hdd_tdls_find_peer(),
wlan_hdd_tdls_set_peer_link_status() and
wlan_hdd_tdls_is_progress() allows mutex protection
inside the function depending on the mutex argument
as an input to the function. But the mutex argument
is always false in all the calling functions.

This change removes mutex argument from the functions
wlan_hdd_tdls_find_peer(), wlan_hdd_tdls_set_peer_
link_status() and wlan_hdd_tdls_is_progress().

Change-Id: I173e2a768b1f0b4d91dec1a9150efac630fb5c86
CRs-Fixed: 1106836
2017-03-03 13:13:24 -08:00
Nitesh Shah
90fcd9d895 qcacld-3.0: Acquire mutex before accessing tdls context
peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.

This change refactors the code for function __wlan_hdd_
cfg80211_tdls_mgmt() and __wlan_hdd_cfg80211_tdls_oper().

Change-Id: I6563170863c51d0eb400801cc863234e11440421
CRs-Fixed: 1106815
2017-03-03 13:13:23 -08:00
Nitesh Shah
3dea6721dc qcacld-3.0: Acquire mutex before accessing tdls context
peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.

This change refactors the code for function hdd_roam_tdls
_status_update_handler().

Change-Id: Id4fd0931df5ec38ad07657751feff34946a18c02
CRs-Fixed: 1106735
2017-03-03 13:13:22 -08:00
Nitesh Shah
4ea2715f34 qcacld-3.0: Acquire mutex before accessing tdls context
peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.

This change refactors the code for function __wlan_hdd
_cfg80211_configure_tdls_mode(), wlan_hdd_tdls_set_params()
and wlan_hdd_update_tdls_info().

Change-Id: I03d4d74356ff6401772c69a7686352783cf22b6b
CRs-Fixed: 1106726
2017-03-03 13:13:21 -08:00
Nitesh Shah
c871ddb947 qcacld-3.0: Acquire mutex before accessing tdls context
peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.

This change refactors the code for function wlan_hdd_tdls_
find_first_connected_peer() and hdd_set_tdls_offchannelmode().

Change-Id: Ic2112e19873a86fbd89dfb0a5a674a2a7e643b21
CRs-Fixed: 1106714
2017-03-03 13:13:20 -08:00
Nitesh Shah
379449e295 qcacld-3.0: Acquire mutex before accessing tdls context
peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.

This change refactors the code for the function wlan_hdd_
tdls_get_peer() by removing the need for mutex lock inside
the function. The change also refactors the calling functions
for wlan_hdd_tdls_get_peer().

Change-Id: I3acb278162127e84d751ef7fdeaac2dc245bbe81
CRs-Fixed: 1106682
2017-03-03 13:13:19 -08:00
Nitesh Shah
8816f57ef0 qcacld-3.0: Acquire mutex before accessing tdls function
peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.

This change refactors the code for function wlan_hdd_tdls
_indicate_teardown() by removing the need for mutex lock
inside the function, and refactors the calling functions.

Change-Id: I5a0da34b0db78a88a99046bf2ee007b50d6ce5c4
CRs-Fixed: 1106305
2017-03-03 13:13:18 -08:00
Nitesh Shah
542fdee90e qcacld-3.0: Acquire mutex before accessing tdls function
peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.

This change refactors the code for function
wlan_hdd_tdls_disable_offchan_and_teardown_links(),
wlan_hdd_tdls_scan_callback() and wlan_hdd_tdls_teardown
_links() before calling wlan_hdd_tdls_find_all_peer().

Change-Id: I881e12bb0c50bfbeb4fe60cb21cfdf0f7d6c2f56
CRs-Fixed: 1106293
2017-03-03 13:13:17 -08:00
Nitesh Shah
52d1700a86 qcacld-3.0: Acquire mutex before accessing tdls function
peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.

This change refactors the code for function
wlan_hdd_tdls_discovery_timeout_peer_cb() and
wlan_hdd_tdls_scan_callback().

Change-Id: I6927aee62c726edd1944d3b6638ae68d9c91d6ab
CRs-Fixed: 1106235
2017-03-03 13:13:16 -08:00
Nitesh Shah
f1f38990e6 qcacld-3.0: Acquire mutex before accessing tdls context
peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.

This change refactors the code for function wlan_hdd_tdls
_idle_handler(), hdd_tdls_connection_tracker_update() and
hdd_roam_tdls_status_update_handler().

Change-Id: I75dc17b581b0c5ef12cbc9203d679a5ea175c752
CRs-Fixed: 1106172
2017-03-03 13:13:15 -08:00
Nitesh Shah
8e86664ba5 qcacld-3.0: Acquire mutex before accessing tdls context
peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.

This change refactors the code for hdd_roam_tdls_status
_update_handler(), wlan_hdd_tdls_ct_sampling_tx_rx() and
wlan_hdd_tdls_update_tx_pkt_cnt().

Change-Id: I7e3e74d149b3dfe527aeb01ee5b3d7a51b16fc61
CRs-Fixed: 2009223
2017-03-03 13:13:14 -08:00
Nitesh Shah
ac07d5ad60 qcacld-3.0: Acquire mutex before accessing tdls context
peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.

This change refactors the code for wlan_hdd_set_callback(),
wlan_hdd_tdls_extctrl_config_peer() and wlan_hdd_tdls_
extctrl_deconfig_peer().

Change-Id: I07d708f5e9475c57ee473f455ee716d2b6ba7139
CRs-Fixed: 1115923
2017-03-03 13:13:13 -08:00
Nitesh Shah
b92e080828 qcacld-3.0: Add mutex lock argument for the tdls function
The function wlan_hdd_tdls_indicate_teardown() calls
wlan_hdd_tdls_set_peer_link_status() with need_mutex
agrument as TRUE.

This change passes mutex argument to the function
wlan_hdd_tdls_indicate_teardown() that inturn passes
to wlan_hdd_tdls_set_peer_link_status() for need_mutex
argument.

Change-Id: I96400c00470dba7ae5ba9ad26142c7c5aaf2feb7
CRs-Fixed: 1115911
2017-03-03 13:13:12 -08:00
Nitesh Shah
34574f81a6 qcacld-3.0: Acquire mutex before accessing tdls context
peer_list is a parameter for tdls_ctx, so every access
to peer_list should be protected with mutex lock.

This change refactors the code for wlan_hdd_tdls_add_station()
and wlan_hdd_tdls_set_link_status().

Change-Id: Ibb323d6dccfb91fddf8bde849054cfc331081ff8
CRs-Fixed: 1115781
2017-03-03 13:13:11 -08:00
Nitesh Shah
191d3c7d52 qcacld-3.0: Acquire mutex before accessing tdls context
qcacld-2.0 to qcacld-3.0 propagation

peer_list is a parameter for tdls_ctx, so every access
to peer_list should be protected with mutex lock.

This change refactors the code for wlan_hdd_tdls_reset
_peer() and wlan_hdd_tdls_set_sta_id().

Change-Id: I5950c411ca48186d6cb7cbd5a4acd688db1a0cba
CRs-Fixed: 1108994
2017-03-03 13:13:10 -08:00
Nitesh Shah
597c56826e qcacld-3.0: Acquire mutex before accessing tdls context
qcacld-2.0 to qcacld-3.0 propagation

peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.
This change refactors the code for wlan_hdd_tdls_get_peer(),
wlan_hdd_tdls_set_cap(), wlan_hdd_tdls_recv_discovery_resp(),
wlan_hdd_tdls_set_peer_caps(), wlan_hdd_tdls_get_link_estab
lish_params(), wlan_hdd_tdls_set_responder() and
wlan_hdd_tdls_set_signature.

Change-Id: I4589eea7f5f97d0e9887e008921a89af05bce329
CRs-Fixed: 1108972
2017-03-03 13:13:09 -08:00
Nitesh Shah
11867ec881 qcacld-3.0: Acquire mutex before accessing tdls context
qcacld-2.0 to qcacld-3.0 propagation

peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.

This change refactors the code for wlan_hdd_
tdls_set_rssi() and __wlan_hdd_cfg80211_tdls_mgmt()
before calling wlan_hdd_tdls_find_peer().

Change-Id: I1cedeff6f42854a66b4c878dd8d4ecf345ae875f
CRs-Fixed: 1108952
2017-03-03 13:13:08 -08:00
Nitesh Shah
e635975954 qcacld-3.0: Teardown TDLS connection when TDLS not allowed
When TDLS exists and new virtual interface is added, then
TDLS gets teardown. But TDLS connection tracker is disabled
only when new connection comes up successfully. When STA
interface is present and TDLS is running and SAP is started,
TDLS gets teardown while adding new virtual interface. But
TDLS gets formed again if there is delay in starting BSS.
Thus, TDLS gets formed, but TDLS connection tracker gets
disabled.

The change is to teardown TDLS links if TDLS connection
tracker is disabled in cds_incr_active_session().

Change-Id: I0ae6526ad0aa321b666e62d09c2ca5b1be8f9157
CRs-Fixed: 2010694
2017-03-03 13:13:07 -08:00
Nitesh Shah
c549dd59ee qcacld-3.0: Enable TDLS conn tracker while updating tdls info
TDLS connection tracker gets disabled while decrementing the
session. While incrementing the session, cds_set_tdls_ct_mode()
is called first, which does not enable TDLS connection tracker
as TDLS mode is already disabled. Then, wlan_hdd_update_tdls_
info() is called that enables TDLS mode, but still TDLS
connection tracker is disabled. TDLS connection tracker gets
enabled only in wlan_hdd_tdls_scan_done_callback().

The change is to enable TDLS connection tracker whenever
wlan_hdd_update_tdls_info() enables TDLS mode.

Change-Id: I00acaebdea737c4482b204ddc25df6b15b330254
CRs-Fixed: 2009566
2017-03-03 13:13:06 -08:00
Nitesh Shah
f5765beb37 qcacld-3.0: Avoid race condition to get pcl while stopping P2P GO
In the case of concurrency, considering STA+P2P-GO, if P2P-GO is
removed, then cds_decr_session_set_pcl() will be called from two
contexts mc_thread and supplicant. Thus, if race occurs, then
cds_store_and_del_conn_info() will remove STA temporarily for one
caller, and it simply returns for second caller. As
cds_conc_connection_info stores garbage values for the second
caller, thus, new interface is created with junk variable.

The change is to avoid the race condition for calling
cds_decr_session_set_pcl() in two contexts. The change is also
to initialize cds_conc_connection_info() with zero before simply
returning because of failure in cds_store_and_del_conn_info() to
avoid creating new interface with junk values.

Change-Id: I7bc4dcea6dfb66954f2cead607eef303df62e6d6
CRs-Fixed: 2009364
2017-03-03 13:13:05 -08:00
Padma, Santhosh Kumar
4eb7908901 qcacld-3.0: Wait for peer delete response from firmware
Currently driver does not wait for peer del response from firmware,
but posts del sta response indication to SME immediately. This
can cause an assert in firmware if driver receives add sta
immediately before even del sta response from firmware. Add
changes to wait for peer del response from firmware to fix
this.

Change-Id: I16a84256f4a1ed971c17eb3139faac5622eadda4
CRs-Fixed: 2008940
2017-03-03 13:13:04 -08:00
Ganesh Kondabattini
5159c430b6 qcacld-3.0: move the ct_peer_mac_table to hdd ctx
Access to tdls_ctx should be protected with mutex since
it is being accessed and freed in different contexts.

ct_peer_mac_table is a parameter of tdls_ctx and it is
being accessed in tx/rx path which runs in softirq context.
So we cannot hold the mutex while accessing the tdls_ctx
in tx/rx path.

In this change the ct_peer_mac_table is moved to hdd_ctx so
that we no need access the tdls_ctx in tx/rx path.

CRs-Fixed: 1105539
Change-Id: Iafcc450a6e34500929605a11274fb2077b3f81fe
2017-03-03 13:13:03 -08:00
qcabuildsw
4f955f9474 Release 5.2.0.12U
Release 5.2.0.12U

Change-Id: Ie2581104b19f66fd9f45528cd349360c766fcd35
CRs-Fixed: 688141
2017-03-03 13:13:02 -08:00
Ashish Kumar Dhanotiya
ac4c11bbb5 qcacld-3.0: Discard TDLS mgmt frames if violates ACM rules
wlan-cld3.driver.lnx.1.1-dev to wlan-cld3.driver.lnx.2.0-dev propagation

As per the 80211 spec, except for setup req and resp frames all
other TDLS management frames shall be transmitted with AC VI. But
this may cause packet check failure for WMM certification-STAUT
-5.2.31 when Admission control is enable for VI.

To overcome this issue discard discovery request and setup cfm
frame when ACM is set for AC VI.

Change-Id: I13da566e9de5e9a366c1efc41c0af67320305570
CRs-Fixed: 1083561
2017-03-03 13:13:01 -08:00
Ashish Kumar Dhanotiya
46f2ca00a3 qcacld-3.0: Delete TDLS peers upon receiving disassoc from AP
wlan-cld3.driver.lnx.1.1-dev to wlan-cld3.driver.lnx.2.0-dev propagation

As per the current code, upon receiving the disassociation frame
AP, DUT-STA disconnects from the AP link but not tearing down the
TDLS link with peer by sending deauth with reason code 3.So when
AP comes up again TDLS link is not establishing between the
peers.

Fix is to delete all connected TDLS peers upon receiving
disassociation framefrom AP.

Change-Id: I8daa61cb1901441e5fae7d161c9f943d67e13c56
CRs-Fixed: 1081264
2017-03-03 13:13:00 -08:00