Commit Graph

7297 Commits

Author SHA1 Message Date
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
snandini
2bceb0344a Release 5.2.0.48W
Release 5.2.0.48W

Change-Id: If5cc7d5fe7922db2d00a7625112b0843aabb6a5a
CRs-Fixed: 774533
2017-10-13 15:51:25 -07:00
Mahesh Kumar Kalikot Veetil
9111a57ae0 qcacld-3.0: Fix code style issues
Fix code style issues introduced by the change
"Change-Id: I3934f2a18c796ed3b53175dcbe7efd7f4d1409b9" in HDD.

Change-Id: Ib2c411017f1a838156a222d2e536fad15056daf0
CRs-Fixed: 2122828
2017-10-13 15:51:25 -07:00
Mohit Khanna
8ee37c6ae7 qcacld-3.0: Remove extra peer ref during attach
Currently during  peer initialization (ol_txrx_peer_attach), we are
initializing peer refcount to 2. This is done to prevent peer
deletion, in case some logic tries to delete a peer when the host has
not received peer map events.

The above logic fails to address the condition when there is roaming
failure, followed by peer deletion from userpace. In this case, host
tries to create a peer and initializes refcount to 2. However, since
roaming fails, firmware does not send out peer map events. In the
meanwhile, the framework tries to delete the existing peer. This
deletion following the peer creation and absence of peer map leads to an
incorrect peer refcount even after deletion and hence this peer does not
get deleted.

Initialize peer with refcount of 2 but 1 instead. In case a map or
unmap arrives after peer deletion, the existing logic will
try to find a peer in the peer hash bins or peer_id_obj_map and will
not find the peer.

Change-Id: Ia3ba6842122dba49281d7bd00303cbe7685ef91c
CRs-Fixed: 2087373
2017-10-13 15:51:23 -07:00
snandini
da0e02fe6d Release 5.2.0.48V
Release 5.2.0.48V

Change-Id: I60c0f2f3a6270bf5f5a499ccef0fd5ee0535d4ef
CRs-Fixed: 774533
2017-10-13 13:42:41 -07:00
Arif Hussain
3a9030acda qcacld-3.0: Include correct dfs header file
To avoid circular dependency, cleanup is done
in common code, So use correct header file to
fix any compilation issue.

Change-Id: Id094107dda4f34ed479ead0b801da27c7aa240ff
CRs-Fixed: 2126011
2017-10-13 13:42:41 -07:00
snandini
7528e02dbc Release 5.2.0.48U
Release 5.2.0.48U

Change-Id: Ifae761905a6c69e5ea45d3c79428d38a1c22e074
CRs-Fixed: 774533
2017-10-13 12:12:41 -07:00
Yun Park
5d42e11033 qcacld-3.0: Fix KW issue for unlock rx_hash_lock and initializing cap
Unlock variable 'pdev->rx_ring.rx_hash_lock.lock.spinlock' in htt_rx.c.
Initialize 'cap.cap_flag' in ol_fw.c.

Change-Id: I243647deb01cd2f9c7b3e07feeb321adf849608d
CRs-Fixed: 2098769
2017-10-13 12:12:41 -07:00
Himanshu Agarwal
e6b4912a81 qcacld-3.0: Add sanity check for buf pkt len to prevent OOB access
Add sanity check for wow_buf_pkt_len in wma_wow_wakeup_host_event()
to avoid out of bound memory access.

Change-Id: Id3b0003aa366d9239739efe561f44eff1dceff5d
CRs-Fixed: 2119401
2017-10-13 17:50:11 +05:30
snandini
29594ffd64 Release 5.2.0.48T
Release 5.2.0.48T

Change-Id: I235bb6aca3fb275c57e83d7c5d9a4bc2c2ebabac
CRs-Fixed: 774533
2017-10-13 01:52:05 -07:00
Himanshu Agarwal
c855227306 qcacld-3.0: Extract value of auto_channel_select_weight ini
When force_sap_acs is enabled, hostapd acs will be discarded
and driver acs will happen with override values from ini. Finally
weight for a channel is calculated based on rssi, bsscount. etc.
from auto_channel_select_weight. This ini value is getting extracted
only in __wlan_hdd_cfg80211_do_acs() and so ini value won't be updated
in sap config when hostapd acs doesn't happen or force_sap_acs is enabled.

Update auto_channel_select_weight ini value in sap config in
wlan_hdd_cfg80211_start_bss() which is called irrespective of any
configuration.

Change-Id: I90f549fece117a72c19cf5fdc9f6485b1ab8afdc
CRs-Fixed: 2125597
2017-10-13 01:52:04 -07:00
Tiger Yu
438c648c7b qcacld-3.0: Fix the coding style error
Fix the coding style error.

Change-Id: Iafd3fc730c188fe027fc9a4dde3f45520091f47b
CRs-Fixed: 2125802
2017-10-13 01:52:02 -07:00
snandini
0ea8a2d56b Release 5.2.0.48S
Release 5.2.0.48S

Change-Id: Ia1ce3b23b82923815d536de308d9cdf2ecb7a7f1
CRs-Fixed: 774533
2017-10-13 01:00:05 -07:00
Jeff Johnson
66ebf1523f qcacld-3.0: Fix style issues in lim_utils.h
Checkpatch reported instances of the following issue, so fix them:
- ERROR:SPACING: space prohibited before that ',' (ctx:WxE)

Change-Id: Ifc015a9e3976ebca03662438998433e976e6cf18
CRs-Fixed: 2125683
2017-10-13 01:00:04 -07:00
Jeff Johnson
ec0164c434 qcacld-3.0: Fix style issues in cfg_proc_msg.c
Checkpatch reported the following issues, so fix them:
- ERROR:SPACING: space prohibited before that ':' (ctx:WxE)
- ERROR:SPACING: space prohibited after that '*' (ctx:ExW)

Change-Id: I2ae63f6a0474a6d8384c2b6796a5239b99aa3ffb
CRs-Fixed: 2125682
2017-10-13 01:00:02 -07:00
Jeff Johnson
aadd789840 qcacld-3.0: Fix style issues in wma_power.c
Checkpatch flaged the following issues, so fix them:
- WARNING:LONG_LINE: line over 80 characters
- ERROR:SPACING: space prohibited before that ',' (ctx:WxE)
- WARNING:LINE_SPACING: Missing a blank line after declarations

Change-Id: Ifb14eaa7828da997c35265deed5e94a2a2db9054
CRs-Fixed: 2125681
2017-10-13 01:00:00 -07:00
Jeff Johnson
c742d8dddc qcacld-3.0: Fix lim_update_sta_ds() style issues
Checkpatch reported the following issues, so fix them:
- WARNING: Missing a blank line after declarations
- WARNING: Block comments use a trailing */ on a separate line
- ERROR: that open brace { should be on the previous line

Change-Id: I7671e3a165cb7f372187c37ce31a92778422031a
CRs-Fixed: 2124909
2017-10-13 00:59:58 -07:00
Jeff Johnson
0daa9447d2 qcacld-3.0: Fix csr_check_concurrent_channel_overlap() style issues
Checkpatch reported the following issues, so fix them:
- ERROR: else should follow close brace '}'
- WARNING: braces {} are not necessary for single statement blocks

Change-Id: I9c8d329d70ee258834eaaea0183ba2e36643b572
CRs-Fixed: 2124908
2017-10-13 00:59:55 -07:00
snandini
0dc7668325 Release 5.2.0.48R
Release 5.2.0.48R

Change-Id: Id501f9e0446a34ab2015d9edfa084237a47e3ef3
CRs-Fixed: 774533
2017-10-13 00:10:48 -07:00
Yue Ma
9f275d9bdb qcacld-3.0: Add debug print for wlan_hdd_validate_context
It can help to trace what is happening during load/unload and
avoid just exiting silently.

Change-Id: I61a451058a7846d3627500db2c9d8d5998e8210e
CRs-fixed: 2123331
2017-10-13 00:10:48 -07:00
Yue Ma
cd359b7e00 qcacld-3.0: Move runtime suspend context init to correct place
Commit fb9d5acfed and 645749571d introduce an API to deinit scan
runtime suspend lock and move runtime suspend context deinit in
order to fix a memory leak issue. However, it breaks SSR because
runtime suspend context init and deinit are not matching during
SSR which results double free happens in the rmmod after SSR.
Move runtime suspend context init to correct place.

Change-Id: I698385ab52e7e18636b143cd71c229afb676baff
CRs-fixed: 2123331
2017-10-13 00:10:46 -07:00
Yuanyuan Liu
5583b2cd0f qcacld-3.0: Convert probe return error from -ENOMEM to -EPROBE_DEFER
If probe failed because of no memory, we want to try to recovery by
issuing a re-probe for built-in driver. Hence, convert probe return
error from -ENOMEM to -EPROBE_DEFER for built-in driver so that
platform driver can issue re-probe based on the return value.

CRs-Fixed: 2124159
Change-Id: I6cca0ed186554c8065b77af8c178ca9e143abf98
2017-10-13 00:10:44 -07:00
Jeff Johnson
f7ca9643c9 qcacld-3.0: Fix bad log in wma_peer_set_default_routing()
Checkpatch reported the following problem:
ERROR: Prefixing 0x with decimal output is defective

Correctly use %x when logging hex data.

Change-Id: I8150cf6ae5770a18035f006df9e774932919d9b7
CRs-Fixed: 2124907
2017-10-13 00:10:42 -07:00