Commit Graph

11451 Commits

Author SHA1 Message Date
Abhinav Kumar
cc959f1b44 qcacld-3.0: Possible use of un-initialized var while changing interface
Currently, driver calls hdd_alloc_station_adapter to initialize the
completion variables for a particular adapter only if mode of interface
is STA or P2P. In case when driver changes its STA + SAP mode to
STA + STA mode by calling hdd_open_concurrent_interface, driver is not
able to initialize init_completion variable for new STA interface. So
while processing fw commands (for new STA interface) which uses
completion variables, driver leads to the use of uninitialized
variables issue.

Create new function cmn_init_completion to initialize completion
variables for all interfaces while opening the HDD adapter.

Change-Id: Iae8ec1a86dd4084c9f5b39ec0d90e16182212df9
CRs-Fixed: 2288919
2018-08-27 16:43:03 -07:00
nshrivas
f183a2e746 Release 5.2.0.93X
Release 5.2.0.93X

Change-Id: I4186f28a68a64f9659bbcff9e07ee9793201cf5f
CRs-Fixed: 774533
2018-08-27 08:53:23 -07:00
Jingxiang Ge
ec11359f6d qcacld-3.0: Fix session can't be closed issue
There is race condition for a small window. The scenario
as below.

1 SAP is starting, and dfs cac begins but without finished.
2 SSR happens, wlan begins to call hdd_reset_all_adapters.
  In hdd_reset_all_adapters, sap_ctx->sessionId is reset to invalid.
3 In hdd_hostapd_sap_event_cb, adapter sessionId is set to
  sap_ctx->sessionId, after this step, adapter sessionId is changed
  from valid sessionId to 0xff.
  In hdd_reset_all_adapters->hdd_vdev_destroy, vdev is released
  but session can't be clean up as invalid sessionId. adapter->event_flags
  can't be clear which cause hdd_vdev_destroy can be called multi times.

Change as below.
1 cancel cac timer at the beginning of hdd_reset_all_adapters and
  before wlansap_set_invalid_session.
2 before send eSAP_START_BSS_EVENT, check if sap_ctx->sessionId
  is valid.

Change-Id: Ifaad62cd008f7769b059f36530455d4e734522e4
CRs-Fixed: 2293072
2018-08-27 08:53:22 -07:00
nshrivas
eb839f15af Release 5.2.0.93W
Release 5.2.0.93W

Change-Id: Ia3b84ca855b26c8a294111801aea913e86126f22
CRs-Fixed: 774533
2018-08-27 07:00:35 -07:00
Nachiket Kukade
989bb351cb qcacld-3.0: Advertise NAN support only if INI is enabled
Under get_supported_features vendor command driver is advertising
NAN capability by checking only the Firmware support. If NAN is
disabled through INI it should not advertize this support.

Add an INI parameter check before advertizing NAN capability.

Change-Id: Ib48044a04500d6619b97d5ca1c3431ee64d7e096
CRs-Fixed: 2288204
2018-08-27 07:00:35 -07:00
nshrivas
9d39f27edf Release 5.2.0.93V
Release 5.2.0.93V

Change-Id: Ib8967c32fd6a0442cee8f2390426feb4db8ebe2f
CRs-Fixed: 774533
2018-08-27 04:47:41 -07:00
Sourav Mohapatra
b1260134ad qcacld-3.0: Rectify deinit sequence leading to NULL ptr dereference
In function hdd_wlan_de_init, the hdd_context is fetched via
cds_get_context. This context is then NULL checked. In the failure case
of this check, the hdd_context is still dereferenced which shall lead to
null pointer dereference.

Add proper jump statement to take care of the proper order of init and
deinit

Change-Id: Ied0ac42371315d0286cdcc71e6e0e10ed2ff5fa1
CRs-Fixed: 2299794
2018-08-27 04:47:41 -07:00
nshrivas
f0fd7d2dc0 Release 5.2.0.93U
Release 5.2.0.93U

Change-Id: I5b347b89f69d79d5373e7a5cec22c19092c1d02b
CRs-Fixed: 774533
2018-08-27 03:09:44 -07:00
Abhinav Kumar
2c0b342950 Revert "qcacld-3.0: Host sends VDEV_DELETE cmd to fw before stop_bss"
While handling IPA event in case if, __wlan_ipa_wlan_evt() queue
WLAN_AP_DISCONNECT cmd for later processing in work-queue context and
in the meanwhile sme close session deletes vdev then, as part of work
queue context driver process WLAN_AP_DISCONNECT and sends
WMA_IPA_OFFLOAD_ENABLE_DISABLE cmd to firmware for the VDEV which is
already deleted by sme_close_session. This result asserts in firmware.

This reverts commit Ief9318bb476b480fd52f4155a0788a34c1e2ed53

Change-Id: I6128fb489fc40cc7ed01cbdf9c419a6a6b20c6d4
CRs-Fixed: 2295672
2018-08-27 03:09:43 -07:00
Bala Venkatesh
b13a3c24f5 qcacld-3.0: Do not Teardown tdls links if new interface is p2p device
As part of any change interface TDLS links are toredown and tdls
state set to disabled in FW. The assumption here is before adding
new interface disable TDLS mode as TDLS is not supported in
concurrency. Due to recent changes in framework,
Driver may receive the change interface to P2P Device mode
after STA connection then teardown is not expected as
STA + P2P Device modes does not comes under concurrent operation.

Check for current and new interface types before disabling TDLS.

Change-Id: I26cfab077b3f83c64687479fba5c7a7c01491a52
CRs-Fixed: 2301650
2018-08-27 03:09:39 -07:00
nshrivas
95bab38b2b Release 5.2.0.93T
Release 5.2.0.93T

Change-Id: I6b598c13cba67c0f7d3bc3cb4a7bd66514d13662
CRs-Fixed: 774533
2018-08-27 01:31:59 -07:00
Liangwei Dong
5b25e3418b qcacld-3.0: Change RSNOpaque Min len to 2
WPA2 Security Improvements test plan case 4.2.2
Scenario F: RSN version Field is truncated to 1
octet. That means the test bed will send assoc
request with RSN ie total size 3.
Current driver unpack_core will return
DOT11F_INCOMPLETE_IE and doesn't extract the
incomplete RSN ie data.

lim_check_wpa_rsn_ie will have no chance to
run dot11f_unpack_ie_rsn to reject the assoc
request frame because the assoc_req->rsnPresent
is 0.

Change RSN Opaque Min Len to 2 (data min len 0),
so that the unpack_core can extract the RSN ie
even though it is "INCOMPLETE", and then
the later lim_check_wpa_rsn_ie can reject such
assoc request.

Change-Id: Icba37840ea6eb1cc1c2c225efd9ec58757606eea
CRs-Fixed: 2297852
2018-08-27 01:31:58 -07:00
nshrivas
c49255ad5a Release 5.2.0.93S
Release 5.2.0.93S

Change-Id: I6b1fdd36e6e5786f3aa8f0a3bf883d01c399967e
CRs-Fixed: 774533
2018-08-25 02:11:32 -07:00
Rajeev Kumar Sirasanagandla
4133d86be3 qcacld-3.0: Use CSA to change SAP DFS channel
If STA interface is added after softap is started on DFS channel,
then SAP is stopped and re-started on non-dfs channel which is selected
using driver internal acs. But, internal acs is now obsolete. Therefore,
select non-dfs channel from preffered channel list and use SAP CSA
instead of restart.

Change-Id: I95e50c3ffbce35cf30cc9a06f0f14c9e60eb3e3f
CRs-Fixed: 2301895
2018-08-25 02:11:31 -07:00
nshrivas
8e142dd6b0 Release 5.2.0.93R
Release 5.2.0.93R

Change-Id: Id84014a0dcfc11d3f214ee2634736caf81d04862
CRs-Fixed: 774533
2018-08-24 18:35:33 -07:00
Mohit Khanna
7032200a77 qcacld-3.0: Support for DP RX Threads
Add support for DP RX Threads as a part of the FR. Multiple RX threads
can be enabled from the ini. The code is added in a new DP module
outside of the cmn project.

Change-Id: Ief6ee955f13c5e527986307371b8e45677cb9700
CRs-Fixed: 2256446
2018-08-24 18:35:32 -07:00
Sravan Kumar Kairam
cd430b6ebb qcacld-3.0: Send IPA RX offload disable to FW
When AP_DISCONNECT event occurs during IPA resource unloading
in progress, unload time out can happen due to IPA driver taking
time in suspending pipes or delay in FW HTT responses. In such
case events are added to pending queue. Pending queue events are
executed in worker thread context when resource unload is complete.
There is possibility of delay in scheduling of worker thread. When
worker thread is scheduled after HOST sends VDEV DELETE to FW and
processing of AP_DISCONNECT pening event will leads to FW assert.
Reason is as part of AP_DISCONNECT host sends IPA OFFLOAD disable
to FW on deleted vdev id. So send IPA RX offload disable command to
FW when AP_DISCONNECT is added to pending queue.

Change-Id: Ib24deb7654496ec60a3e56b8a9d1e1bd2d8c2db5
CRs-Fixed: 2295105
2018-08-24 18:35:28 -07:00
Arif Hussain
eec28b5d97 qcacld-3.0: Add validation code in wma_set_pmo_caps()
Make sure wma is not null before dereferencing.

Change-Id: Ie6b8d3c48257de12ae45ffe0a15079642c29cb30
CRs-Fixed: 2299789
2018-08-24 18:35:25 -07:00
Liangwei Dong
433a8dbfad qcacld-3.0: Reject Invalid RSN IE Assoc Request
If SAP configured with RSN security IE, peer should
include compatible RSN parameters.
Reject the Assoc request if peer include invalid RSN
IE.

Change-Id: I10083d7feb669fe5d1c2650ae3c3092e5b28169e
CRs-Fixed: 2294876
2018-08-24 18:35:21 -07:00
Jeff Johnson
c58612a792 qcacld-3.0: Remove first_scan_done from the MAC context
The MAC context first_scan_done flag is a remnant from a prior version
of the driver which is initialized but then never read or written.
Since it is obsolete, remove it.

Change-Id: I81b371cb768bd2d042d3f3bf0991d2b27b953b3c
CRs-Fixed: 2298274
2018-08-24 18:35:16 -07:00
nshrivas
14518e2388 Release 5.2.0.93Q
Release 5.2.0.93Q

Change-Id: I301cfcaa8ebc95ecacf07fffba5bb28e45b9a48d
CRs-Fixed: 774533
2018-08-24 15:15:55 -07:00
Abhinav Kumar
1a15ed2800 qcacld-3.0: Add SRD channel check in restart SAP
Currently the driver doesn't have a check to bring
up a SAP on STA SCC channel if its a SRD channel
and does force SCC on it, even if SRD master mode
is not supported.

Fix is to check the SRD ini before SAP bringup
on the STA channel

Change-Id: I17f7df9ed973ecc6669f0d36a8c390c71624019b
CRs-Fixed: 2302737
2018-08-24 15:15:55 -07:00
Rajeev Kumar Sirasanagandla
80e16bfe83 qcacld-3.0: Add null check in action oui send request
In target_if_action_oui_send_req(), there is no NULL check against
return value of GET_WMI_HDL_FROM_PSOC() which can result in NULL
pointer exception. Therefore, add NULL check.

Change-Id: Ibbc4fdf03563496b9d5dac63141921dd8bdea4fa
CRs-Fixed: 2299793
2018-08-24 07:16:45 -07:00
nshrivas
e5d42d7d18 Release 5.2.0.93P
Release 5.2.0.93P

Change-Id: Ifa5a8932b66c66652864238b0b1860b56ac0c587
CRs-Fixed: 774533
2018-08-23 15:25:35 -07:00
Arunk Khandavalli
1574505022 qcacld-3.0: Send the correct error to HDD if self peer creation fails
During the vdev attach if the self peer creation fails from the protocol
stack the correct vdev delete is sent to the firmware but the success error
is propogated back to the HDD and the wmi vdev set commands are sent
to the firmware with invalid vdev id.

Change-Id: Ida3964e5a629f53e41ffc50b53216762727fd33d
CRs-Fixed: 2299941
2018-08-23 15:25:34 -07:00
nshrivas
e031272a7c Release 5.2.0.93O
Release 5.2.0.93O

Change-Id: I85f25e7269204903f191312b6632a8bca6376bf1
CRs-Fixed: 774533
2018-08-23 13:50:15 -07:00
Bala Venkatesh
be1f59f0d2 qcacld-3.0: Initialize SAP mandatory chan list
Initialize SAP mandatory chan list.

CRs-Fixed: 2301749
Change-Id: I126d67da1bfe8426cd3a7b031e97aba907e6155a
2018-08-23 13:50:14 -07:00
nshrivas
2145a37ff5 Release 5.2.0.93N
Release 5.2.0.93N

Change-Id: I464cbbfa18b714c8d52a5fcd80fc53b5ec2628c8
CRs-Fixed: 774533
2018-08-23 09:38:35 -07:00
Krunal Soni
fa6c7f5f9e qcacld-3.0: Move set/get timestamp logic from Datapath to Control path
As part of Iab0862eda2392bd516c8ba0b913441b8e0d4c493 , timestamp of
last received frames was introduced to block excessive mgmt frames
being sent as part of Denial of service.

Move that logic to control path to remove dependency on data-path.

CRs-Fixed: 2280235
Change-Id: Idd7617782e71ee187eef7fcb3523c05b49f82094
2018-08-23 09:38:34 -07:00
nshrivas
be622fb896 Release 5.2.0.93M
Release 5.2.0.93M

Change-Id: I627ae7bf9a1447d8164930f274792980306bcacf
CRs-Fixed: 774533
2018-08-22 07:46:44 -07:00
Kai Liu
aa88d2f9c2 qcacld-3.0: Define macro WLAN_SYSFS for feature sysfs interface
Disable this feature for MOBILE_ROUTER product, since some MOBILE_ROUTER
platform will attach two wlan cards with separate wlan driver,
during second driver loading process, it will report a warning of
"cannot create duplicate filename" as node with same name has been
created after first driver was loaded.

Change-Id: I9e06439b3a6dacdf4eb5ae87898338ab1eeb8b16
CRs-Fixed: 2295391
2018-08-22 07:46:43 -07:00
nshrivas
50fdbbd9f3 Release 5.2.0.93L
Release 5.2.0.93L

Change-Id: I578cb43f5f778f635f8f183d36bb6badce8aeafa
CRs-Fixed: 774533
2018-08-22 06:08:45 -07:00
Kiran Kumar Lokere
e37c8559a1 qcacld-3.0: Update dfs region enum names
Update dfs region enum names to fix the compilation
due to name change.

Change-Id: If3ed7c5d2eb9ce855f62df98301196395e7febf9
CRs-Fixed: 2300595
2018-08-22 06:08:45 -07:00
nshrivas
16796952eb Release 5.2.0.93K
Release 5.2.0.93K

Change-Id: I8857d3d427f4345ea1e9648b5ea49089c821d466
CRs-Fixed: 774533
2018-08-22 03:52:41 -07:00
Varun Reddy Yeturu
692eed125d qcacld-3.0: Check for WMA context before sending TWT command
Check for WMA context before sending the TWT enable
command to the firmware.

Change-Id: I27c131773506c89fc7ba3e95fa58daa1258733fc
CRs-Fixed: 2299786
2018-08-22 03:52:41 -07:00
nshrivas
c7a369d642 Release 5.2.0.93J
Release 5.2.0.93J

Change-Id: I0a7a451ba8f76cc2358834c3e2b87e67f5618b9d
CRs-Fixed: 774533
2018-08-21 20:51:04 -07:00
Dustin Brown
ffd584f1c2 qcacld-3.0: Check recovery enabled before unloading
In cds_trigger_recovery(), we avoid recovery if the wlan driver is
unloading. While this is ideal for production devices, we would like to
panic in debug builds for offline analysis. Move the check to see if the
wlan driver is unloading to immediately after the check to see if we
should panic or not.

Change-Id: I07cc624295416ca555eb4d847f709cf30e6672bb
CRs-Fixed: 2299903
2018-08-21 20:51:03 -07:00
nshrivas
c98e9b8f1d Release 5.2.0.93I
Release 5.2.0.93I

Change-Id: I053ff0778b5166a2624021d993dd9f5550557eec
CRs-Fixed: 774533
2018-08-21 14:16:27 -07:00
Dustin Brown
3111677bb2 qcacld-3.0: Reduce SNR monitoring log
Reduce an SNR monitoring log in HDD to prevent spamming dmesg.

Change-Id: If2779ef469894f1c7982cda7e7b48ddc1c0e5b7c
CRs-Fixed: 2297425
2018-08-21 14:16:27 -07:00
nshrivas
54e5106397 Release 5.2.0.93H
Release 5.2.0.93H

Change-Id: I9cd9a80721118463887ff504d97784c40db7ab45
CRs-Fixed: 774533
2018-08-21 01:51:19 -07:00
Vignesh Viswanathan
a03a58e9f5 qcacld-3.0: Drop Probe Requests on Scan Queue if queue is full
Drop Probe request frames before posting on Scan Queue if the queue
is already having too many beacon/probe frames to process.

Change-Id: Iaad3d3ea0b50edf7ae7a9c5437ac5c210fe6a97f
CRs-Fixed: 2298581
2018-08-21 01:51:19 -07:00
nshrivas
91ad4c374b Release 5.2.0.93G
Release 5.2.0.93G

Change-Id: Ifb112df1d60adcca00af9f8edbdfdb762b5f5b92
CRs-Fixed: 774533
2018-08-21 00:17:11 -07:00
Jeff Johnson
83144ce3f3 qcacld-3.0: Remove fMiracastSessionPresent from MAC context
The MAC context fMiracastSessionPresent flag is only referenced by
macro IS_MIRACAST_SESSION_PRESENT(), and this macro is unused. Since
the fMiracastSessionPresent flag is obsolete, remove it and the macro.

Change-Id: I5ad6e5b56bd0476e7894c431b56b9ad5730923d4
CRs-Fixed: 2300050
2018-08-21 00:17:11 -07:00
nshrivas
52f2b8e737 Release 5.2.0.93F
Release 5.2.0.93F

Change-Id: I5eebbbee9900b2e7c4f1402081380182ef7b1253
CRs-Fixed: 774533
2018-08-20 22:32:28 -07:00
Jeff Johnson
9743eb7f49 qcacld-3.0: Refine the extscan stop BSSID hotlist logic
Make the following updates to the extscan stop BSSID hotlist logic:
1) Exclusively use the Unified WMI data structures.
2) Update the HDD<=>SME interface to enforce the contract that SME
   must not make any assumptions about the buffers provided by HDD.

Change-Id: I01e29a96fded829c734532b021aeea1960bba641
CRs-Fixed: 2294273
2018-08-20 22:32:28 -07:00
Jeff Johnson
bacb4804c4 qcacld-3.0: Fix mac_handle test in hdd_set_dwell_time()
Recently change "qcacld-3.0: Use mac_handle_t in wlan_hdd_ioctl"
updated the nomenclature used in HDD. During the implementation of
this change a NULL check of mac_handle in hdd_set_dwell_time() had a
"!" removed, incorrectly changing the logic. Restore the correct logic
for NULL-checking mac_handle.

Change-Id: I2bb8393d5adb3156795b3b722d839812419e4995
CRs-Fixed: 2299812
2018-08-20 22:32:23 -07:00
nshrivas
81f2599153 Release 5.2.0.93E
Release 5.2.0.93E

Change-Id: Ia57ac5d3b131153c600d406e65800fafd2456805
CRs-Fixed: 774533
2018-08-20 16:55:01 -07:00
Dustin Brown
485bbad241 qcacld-3.0: Fix cds_trigger_recovery PERF build issue
QDF_DEBUG_PANIC() is stubbed out for PERF builds, leading to a warning
in cds_trigger_recovery() because @call_info is unused. Extract the
trigger recovery handling into its own function with proper types
instead of void*, and make cds_trigger_recovery_work() a thin wrapper
over this to do the type conversion. This will address the unused
variable warning, and provide stronger type checks via the compiler.

Change-Id: Idf712bdf30d2c6c338219a0327221fe6a0b0b27a
CRs-Fixed: 2299813
2018-08-20 16:55:01 -07:00
nshrivas
03b6363540 Release 5.2.0.93D
Release 5.2.0.93D

Change-Id: I024baa0af811d97c85b93884fd829f965d49b29f
CRs-Fixed: 774533
2018-08-20 15:15:11 -07:00
Vignesh Viswanathan
c6812821f7 qcacld-3.0: Add support for wildcard OUI in Action OUI framework
Add support for wildcard OUI 0xFFFFFF in action OUI framework.
When the OUI FFFFFF is defined for some action OUI ini and bit 0
of info_presence bit is set to 0 then the check for vendor OUI
in vendor specific IEs and the vendor IE data checks are skipped
and other checks like MAC, Capabilities are done during connection.

Change-Id: I6e996c5d79f4f7bd91e11134b1b8ba69a1ff0253
CRs-Fixed: 2293167
2018-08-20 15:15:11 -07:00