Commit Graph

7319 Commits

Author SHA1 Message Date
Wu Gao
02bd75be9c qcacld-3.0: Remove legacy P2P codes in HDD
To reduce code size, remove legacy P2P codes in HDD layer.

Change-Id: Idaaacac4fdaf1b964432c33c10b1c86f8a591c2d
CRs-Fixed: 2099184
2017-10-17 19:53:41 -07:00
Wu Gao
c02785db21 qcacld-3.0: Activate debug functions in P2P component
Remove P2P debug functions from legacy code and apply the new
functions in UMAC P2P component.

Change-Id: I1ff627a553108c74be144232fd0a0406d88de395
CRs-Fixed: 2105808
2017-10-17 19:53:38 -07:00
Amar Singhal
7b038cad15 qcacld-3.0: Check number of dbs hw modes
In WMI_SERVICE_READY_EVENTID, check for number of dbs HW modes against
the metadata.

Change-Id: I043c93c4e6bc0dfdd73dbdc65bab683c56269308
CRs-Fixed: 2119387
2017-10-17 19:53:36 -07:00
snandini
504a0608da Release 5.2.0.49L
Release 5.2.0.49L

Change-Id: Iaf9702de6ff3ab88c86c568f0ed93c70b1188c9b
CRs-Fixed: 774533
2017-10-17 18:11:25 -07:00
Yun Park
73ea8bbb2c qcacld-3.0: Send WLAN_CLIENT_DISONNNECT event from del_station
When receive STOP_BSS, send WLAN_CLIENT_DISONNNECT event send to IPA.
And upon receiving WLAN_CLIENT_DISONNNECT, check if all clients are
already disconnected to avoid redundant event processing.

Change-Id: Ibb3074cdaf65da9ea8c2032df86f9d66b2fce014
CRs-Fixed: 2096338
2017-10-17 18:11:24 -07:00
Hanumanth Reddy Pothula
aaa3f8871c qcacld-3.0: Fix CPU soft lock up during workqueue cancellation
Propagation from qcacld-2.0 to qcacld-3.0

ipv4 and ipv6 workqueues are initialized in open adapter for STA
and P2P modes but not for AP mode. The workqueues are cancelled
in stop adapter. The cancel_work_sync may be called on AP adapter
workqueue also, if just in time, the AP adapter mode has changed
to STA mode, for example during hostapd stop etc. This can cause
the cancel_work_sync to continuously loop since INIT_WORK has not
been called, finally raising CPU stuck. There is no harm in calling
INIT_WORK on any workqueue since it only makes sure that in cases
as above there is no undeterministic behaviour.

Fix cancel_work_sync issues by initializing ipv4 and ipv6 workqueues.

CRs-Fixed: 2121723
Change-Id: Ief8dd0c797dd1492fa30ca4e41da9e583548e21d
2017-10-17 18:11:22 -07:00
Dustin Brown
a7cf3a9bb5 qcacld-3.0: Avoid buffer overrun via null termination
__iw_softap_set_ini_cfg assumes a given user supplied buffer is null
terminated, which can lead to a buffer overrun. Ensure the buffer is
null terminated by copying it to a new, oversized buffer whose last byte
is zero.

Change-Id: If94e753026f79a368cd6b9cb7c745ade4ae29452
CRs-Fixed: 2118809
2017-10-17 18:11:20 -07:00
Yun Park
1027e8ca6d qcacld-3.0: Implement clearStats for TSO and NAPI statistics
Implement missing clearStats for TSO and NAPI statistics.

Change-Id: I384a6abcecca8276dadc647e93720e067f324aab
CRs-Fixed: 2024016
2017-10-17 18:11:18 -07:00
snandini
db5d42b894 Release 5.2.0.49K
Release 5.2.0.49K

Change-Id: I00e27b562a615d00d6c375076a9f5226c49b8aa0
CRs-Fixed: 774533
2017-10-17 15:57:54 -07:00
Yun Park
2aa880cc76 qcacld-3.0: Set Netdev Tx/Rx stat counter for IPA uC data path
Netdev Tx/Rx stat counters doesn't reflect packet counter from IPA
offload data path.
Change to add Tx/Rx packet counts from IPA uC data path through IPA uC
stats query.

Change-Id: If80dee818e97f4f75407885c20ee9abf2257be7c
CRs-Fixed: 956283
2017-10-17 15:57:53 -07:00
snandini
986a27f6e9 Release 5.2.0.49J
Release 5.2.0.49J

Change-Id: I73f03199bae2544d9dc952fe29d086ee9f845b60
CRs-Fixed: 774533
2017-10-17 13:12:45 -07:00
Jeff Johnson
ce4a8349b4 qcacld-3.0: Align on enum nl80211_wpa_versions
The original version of the driver was based upon wireless
extensions. Later when nl80211/cfg80211 support was added, in some
cases data received with nl80211 semantics was converted to wireless
extensions semantics. One such data item is the WPA version.

Now that wireless extensions have been deprecated, it is desirable to
align on cfg80211/nl80211 semantics. Therefore now align on enum
nl80211_wpa_versions for maintaining the WPA version.

Change-Id: I2a0fb6996b42adfe6dec7c14493c2dc10f83230c
CRs-Fixed: 2126880
2017-10-17 13:12:44 -07:00
snandini
af2ace2b56 Release 5.2.0.49I
Release 5.2.0.49I

Change-Id: Iabc031518414bc997d44979341219f4f676ef6a7
CRs-Fixed: 774533
2017-10-17 11:48:50 -07:00
Wu Gao
aceec6c1fc qcacld-3.0: Cleanup scan request when calling stop adapter
It doesn't record current scan request and won't cleanup being
process scan request. In some Rome platform, host driver just load one
time, scan request status mismatch to cfg80211 if didn't cleanup scan
request, and then cause crash.

Change-Id: I000db80bdf5175775f2415130ee3a2974aefa4ea
CRs-Fixed: 2111330
2017-10-17 11:48:50 -07:00
snandini
8208de4aff Release 5.2.0.49H
Release 5.2.0.49H

Change-Id: Ifa8e12f7fd29cf29b153b209683643430a46aba9
CRs-Fixed: 774533
2017-10-17 05:05:26 -07:00
SaidiReddy Yenuga
744073fd06 qcacld-3.0: Fix wlan module loading issue
As part of configure default filters over suspend code
changes wlan module loading broken.

Fix the loading issue by adding the newly added files
to Kbuild.

CRs-Fixed: 2017259
Change-Id: Ib33efa8f7f5e2ca8d9734181df94f70557e9f9cd
2017-10-17 05:05:26 -07:00
Hanumanth Reddy Pothula
3def8945b0 qcacld-3.0: Configure and clear default packet filters over suspend and resume
In suspend mode multicast, broadcast packets wakes up host,
this leads to higher power consumption.

Add support to configure the IPv6/IPv4 multicast, IPv4 broadcast, XID,
STP, DTP/LLC/CDP packet filters based on ini bit map param, before the
device goes to suspend mode and clear the same filters in resume.

CRs-Fixed: 2011442
Change-Id: Ib355459132086902ba008f2abd17415a8f569b41
2017-10-17 05:05:24 -07:00
snandini
5fffa74cb2 Release 5.2.0.49G
Release 5.2.0.49G

Change-Id: I7f7649ccc60897f0d263887fc8acb285c9ad049f
CRs-Fixed: 774533
2017-10-17 02:17:25 -07:00
Paul Zhang
05af1f6352 qcacld-3.0: Check radio id for FW event
In Rome platform, it use invalid radio id in FW event
WMI_RADIO_LINK_STATS_EVENTID and cause crash. So check
radio id when handling this event.

Change-Id: Iadf61fbde53f80f1081da9a386cf13f0cce69e3c
CRs-Fixed: 2123782
2017-10-17 02:17:25 -07:00
snandini
2049fe0f50 Release 5.2.0.49F
Release 5.2.0.49F

Change-Id: I6f80c0115ae3b2ebd1b6f267db4aedc435521cc6
CRs-Fixed: 774533
2017-10-16 22:02:49 -07:00
Jingxiang Ge
9db9d235af qcacld-3.0: Ignore netdev notifier when driver status is closed
when unloading driver, there is possible that the driver_status
has been DRIVER_MODULES_CLOSED, then NETDEV_GOING_DOWN is received,
which will cause assert in qdf_mutex_acquire as lock has been
destoryed.

Change-Id: Ic7e26dc1eb9a40a2462b041b0f3b84452e448cfd
CRs-Fixed: 2126832
2017-10-16 22:02:49 -07:00
snandini
5f3047b4e1 Release 5.2.0.49E
Release 5.2.0.49E

Change-Id: Iede0c460c1e146ae0ae51e103145139ae86787ea
CRs-Fixed: 774533
2017-10-16 18:06:57 -07:00
Amar Singhal
4bd222369a qcacld-3.0: Check for number of entries in fw profiling
Number of profile data from firmware cannot be trusted. Check for
number of entries against the metadata in TLV header.

Change-Id: I0d8078f623a97e33ee1689398c291be75fe9a62a
CRs-Fixed: 2119391
2017-10-16 18:06:56 -07:00
Amar Singhal
16c170d21c qcacld-3.0: Add checks for security vulnerability
Add checks to extscan and ocb FW message handlers.

Change-Id: I1ff5b1f8722545de4cc4f10d23ff9b914ae3428c
CRs-Fixed: 2119054
2017-10-16 18:06:54 -07:00
Amar Singhal
4aaa6c4946 qcacld-3.0: Do check for datalen in wma_process_uft_event
Check for data length against the size of the structure.

Change-Id: Ia8107053ca9c109632ea02a0c8fa677f19e4e225
CRs-Fixed: 2118918
2017-10-16 18:06:53 -07:00
Yun Park
d8fb1a803c qcacld-3.0: Fix memory leaks detected in pending_event list
Pending_event memory is dynamically allocated after driver loaded
but freed up only when driver unloading.
Fix to free pending_event memory when driver stop.

Change-Id: Ia748e311fc77fc99e193230910fccd7bc9b4f5a9
CRs-Fixed: 2126695
2017-10-16 18:06:51 -07:00
snandini
3c286a9f9a Release 5.2.0.49D
Release 5.2.0.49D

Change-Id: Ic2e71f5bfe8598e24e3f67f20d068ee0652f7d48
CRs-Fixed: 774533
2017-10-16 16:44:13 -07:00
Krunal Soni
22208393bb qcacld-3.0: Remove SAP connection from policy manager upon stopbss
If SAP has no channel left to move then it will issue stop bss. In this
scenario, SAP is not cleaning up its entry from policy manager table
which causes stale entry left over in table.

Fix this situation by stopping the bss successfully and deleting entry
from policy manager table.

Change-Id: I7c7d305936fe16b0deebb9b7a67f7753cbf243e6
CRs-Fixed: 2112932
2017-10-16 16:44:13 -07:00
Varun Reddy Yeturu
84c497b930 qcacld-3.0: Handle failure scenarios for NSS update request
Release the NSS update request from the serialization active
command list in case the request fails.

Change-Id: Id6bfee6f510132bacdc69773c8aba90be43aa813
CRs-Fixed: 2112932
2017-10-16 16:44:11 -07:00
Mahesh Kumar Kalikot Veetil
c637fc91d7 qcacld-3.0: Allow BSS start during STA connection
SoftAP start fails during station connection is in progress and the flag
update_beacon is not set. Also allow beacon/probe resp update in the middle
of p2p connection.

Change-Id: I13d89b6b8b51f999ff317d1f55dc3fcf48bdd422
CRs-Fixed: 2108186
2017-10-16 16:44:09 -07:00
Mahesh Kumar Kalikot Veetil
0c5cb992cf Revert "qcacld-3.0: Don't allow start ap during sta connection"
This reverts Change-Id: I1887aab39d2fa13cc8a900164d2aa6d489464e42

Driver is no more acquiring qdf_conc_list_lock before calling
cds_get_pcl(). SME active queue will serialize connection request and
bss start commands.

Change-Id: I98066b8f1e756ae930ea97be6f8c6e6de244662d
CRs-Fixed: 2108186
2017-10-16 16:44:07 -07:00
snandini
be58ba23ea Release 5.2.0.49C
Release 5.2.0.49C

Change-Id: Ie63f6c840a5cad227aec837a552fc95508762c41
CRs-Fixed: 774533
2017-10-16 14:23:13 -07:00
Sravan Kumar Kairam
3a69831d44 qcacld-3.0: Send TX timeout event for TX data stall
For data stall continuous HDD tx timeout count of five
post HOST TX time out data stall event to handle it in
data detection module.

Change-Id: Ic6cf5e62f711cef5919a4a5e85e4232c622c04bb
CRs-Fixed: 2094393
2017-10-16 14:23:13 -07:00
snandini
092a4b9117 Release 5.2.0.49B
Release 5.2.0.49B

Change-Id: I5840c9f702cb3a31baec4bb8d8e26c683ba07f1c
CRs-Fixed: 774533
2017-10-16 12:20:45 -07:00
Varun Reddy Yeturu
2460356b93 qcacld-3.0: Disable Adaptive Dwell mode for RRM
Disable Adaptive dwell mode feature for RRM scan
request to help retrieve reliable results.

Change-Id: Ief458db87d6da9afa97673da37cff408a80b0041
CRs-Fixed: 2074288
2017-10-16 12:20:45 -07:00
Himanshu Agarwal
dfca3d8173 qcacld-3.0: Add sanity check for vdev id to prevent OOB access
Add sanity check for vdev id in wma_vdev_start_resp_handler() to prevent
out of bound memory access.

Change-Id: Ia4e18e8e322142928c41dfa88b874ff017727266
CRs-Fixed: 2120424
2017-10-16 12:20:43 -07:00
snandini
968ba050a1 Release 5.2.0.49A
Release 5.2.0.49A

Change-Id: Id961e5a12001183e2251a0c5ebf6cb1805bcf84b
CRs-Fixed: 774533
2017-10-16 10:27:36 -07:00
Hanumanth Reddy Pothula
006f383e64 qcacld-3.0: Don't double start inactivity timer
There is a possibility of double start of inactivity timer if iff_up
(hdd_open) happens while probe/remove/reinit is still going on.

To mitigate this issue, on iff_up, start inactivity after acquiring
hdd_init_deinit_lock, which make sure probe/remove/reinit are
completed, and thereby inactivity timer is stopped.

Change-Id: I2417215380e318a8410a2d25eabf82f353a26c4f
CRs-Fixed: 2125494
2017-10-16 04:41:24 -07:00
Arunk Khandavalli
e9ef42ae0c qcacld-3.0: Start inactivity timer for hdd_open
There can be deadlock on iff_up on anyone of mutex's like
init_deinit_lock, iface_change_lock. To catch what caused the
deadlock start the inactivity timer to root-cause the issue

CRs-Fixed: 2120569
Change-Id: I830cc4127a9c0691ee44a5e2c56c871471d638db
2017-10-16 04:41:08 -07:00
SaidiReddy Yenuga
a92f8cc9a1 qcacld-3.0: Add support for configuring modulated DTIM dynamically
qcacld-2.0 to qcacld-3.0 Propagation.

Wifi OFF/ON is needed to update the gEnableModuleDTIM ini param.

Add private ioctl to configure modulated DTIM at runtime.

CRs-Fixed: 2002662
Change-Id: I28be432da775a9aa026cd702c63dee5666260d33
2017-10-16 16:47:49 +05:30
snandini
141ce942d6 Release 5.2.0.49
Release 5.2.0.49

Change-Id: Ief7a5d0390f612c7a211f50c8993628aac2b5b3c
CRs-Fixed: 774533
2017-10-16 01:56:48 -07:00
Varun Reddy Yeturu
b60d5227da qcacld-3.0: Tune config parameters for scan rest time
Fine tune the scan rest time configuration parameters,
gRoamRestTimeMin and gNeighborScanTimerPeriod to 50ms and
100ms respectively for better power efficiency.

Change-Id: Ia6edb87dbb0abf4771613a028d711f4f7a4e0f41
CRs-Fixed: 2120683
2017-10-16 01:56:48 -07:00
wadesong
9e95bd99fa qcacld-3.0: Fix build errors introduced by data path code changes
Some data path code change didn't consider SDIO code path, so
introducing some build error for SDIO driver. Fix them in one
submission to enable ACI

Change-Id: I3d1b81c57a8ae854f18db3eccb546b7b552899b7
CRs-Fixed: 2033757
2017-10-16 01:56:46 -07:00
snandini
1da8617f56 Release 5.2.0.48Z
Release 5.2.0.48Z

Change-Id: Idebe40280d36aae2ac4a23c7898547974024218f
CRs-Fixed: 774533
2017-10-14 05:59:28 -07:00
Vignesh Viswanathan
593e1f9a3d qcacld-3.0: Remove assert in wma_rx_aggr_failure_event_handler
Assert was added in the wma_rx_aggr_failure_event_handler via the change
Iea93e879196e9cd43856a7dcc9204d2304f76c78 and it exposes further security
issues.

Remove the assert in wma_rx_aggr_failure_event_handler.

Change-Id: Iaef00389fa19da0fe33e3bcd6f2123e553b84dff
CRs-Fixed: 2114789
2017-10-14 05:59:28 -07:00
snandini
f37960919e Release 5.2.0.48Y
Release 5.2.0.48Y

Change-Id: I03554f43571203bc2aeb63867a59a1d52791fa9b
CRs-Fixed: 774533
2017-10-13 23:53:40 -07:00
Krunal Soni
e50ff45334 qcacld-3.0: Release PEER's timer memory before removing it from table
SAP DUT allocates SA query timer for each STA-PEER which gets associated
to DUT. When STA-PEER walks out or gets disassociated, SAP DUT releases
this timer memory through PEER clean-up process but in few corner cases
it is observed that STA-PEER left uncleaned.

In such cases ideally when SAP session goes away, SAP state-machine
should check any left out memory and clean it up through
lim_cleanup_mlm() but this API check for own session validity and
own session has been marked as invalid before even calling this API.
Due to which timer memory leaks.

Fix the situation by deleting the timer before marking own session as
invalid.

In some cases, for some reasons PEER delete sta request couldn't send to
FW then memory associated with delete sta request needs to be freed.
If status is failure and del sta response is not required then silently
release the memory.

CRs-Fixed: 2124293
Change-Id: I082c771bbee6d083b15515dd2e40ed9a27e0a9a1
2017-10-13 23:53:39 -07:00
snandini
d0229ac0cc Release 5.2.0.48X
Release 5.2.0.48X

Change-Id: I56349d7adcf2b7c11d35a15314efd59d7d4bf3c0
CRs-Fixed: 774533
2017-10-13 19:51:28 -07:00
Kiran Kumar Lokere
b0f19c322c qcacld-3.0: Send IMPS disable cmd to FW if disabled in INI
If the IMPS disabled in INI send the IMPS disable command to FW

Change-Id: I1cfc731b8d0e8eddc4dc0ffa6d3b59f22506943c
CRs-Fixed: 2126599
2017-10-13 19:51:27 -07:00
Yun Park
fec73dc984 qcacld-3.0: Add default log message to IPA init/deinit code
Add default log message to IPA interface init/deinit code while WLAN
driver load/unload process.

Change-Id: Ibfb1f9444c73e0dbbb1899f02aee0727c44765bf
CRs-Fixed: 2108804
2017-10-13 19:51:26 -07:00