Commit Graph

6070 Commits

Author SHA1 Message Date
gaolez
5c509f36e8 qcacld-3.0: fix miss CSA IE when band switch
qcacld-2.0 to qcacld-3.0 propagation

Setting CSA IE if not all the STA devices support ECSA while
configure the macro CHANNEL_HOPPING_ALL_BANDS. Otherwise, SAP
will miss CSA IE when switch band from 5G to 2G.

Change-Id: I7aad2bb0d967e73c0ea87acb9820bebdc0455410
CRs-Fixed: 2024425
2017-08-31 21:11:15 -07:00
snandini
9feddff4c5 Release 5.2.0.40Y
Release 5.2.0.40Y

Change-Id: I049c97eea41b287be55c10902b975cf50da9c8b0
CRs-Fixed: 774533
2017-08-31 15:26:34 -07:00
Naveen Rawat
31b0f27c42 qcacld-3.0: Fix ndp peer departed indication
OS_IF layer function recieving NDP peer departed indication expects
different structure than what was supplied, causing wrong values to
be interprated and leading to crash. Fix this by passing correct
structure data type.

Change-Id: I1ad6860e5c55b0efe65691262bd563e84f523a7f
CRs-Fixed: 2100848
2017-08-31 15:26:34 -07:00
snandini
f757aed99e Release 5.2.0.40X
Release 5.2.0.40X

Change-Id: Id00fd985402fcd95218e65b4d44a4f31d52cf058
CRs-Fixed: 774533
2017-08-31 14:48:47 -07:00
Nachiket Kukade
3208c162ba qcacld-3.0: Pass appropriate channel list in vendor ACS event
If vendor acs support is enabled, driver sends a list of channels
through a vendor event when it receives do_acs. Currently it sends
list of all valid channels even if hostapd or INI has specified
specific channels which is not expected.
If available send list of channels specified by hostapd or INI.

Change-Id: I9b931c69ce72a18c7e1ec603143091da6abca70c
CRs-Fixed: 2100742
2017-08-31 14:48:46 -07:00
Abhishek Singh
dd2cb5780b qcacld-3.0: Add diag event for Assoc and Auth Complete
Currently we are not getting any event for ASSOC/AUTH
completion.To debug issues where AP does not respond
to our AUTH\ASSOC request or the response packet from
AP is lost we would like to have clear indication whether
the request from DUT has reached AP or not.
Add diag event for both auth and assoc completion to
inform whether we got ack for the auth and assoc request
pkt.

Change-Id: Ia01da4a9f0d5435733844178643a29fad58d2a5c
CRs-Fixed: 2001968
2017-08-31 14:48:44 -07:00
snandini
436cc67243 Release 5.2.0.40W
Release 5.2.0.40W

Change-Id: I061306b3f606e270ada6c137c1b0d6b889e3ba19
CRs-Fixed: 774533
2017-08-31 11:46:42 -07:00
Vignesh Viswanathan
0942935928 qcacld-3.0: Add new vendor AP to associate in 1x1
Some vendor APs are not able to handle the SMPS frames causing the
data rate to drops to very low rates and before it recovers the next
SMPS frame is triggered.

Add new vendor AP OUI and vendor AP data, compare the vendor AP OUI
and data with AP capabilities and if there is a match, associate in
1x1 to that AP.

Change-Id: I753582fa6a0db9fc24587f053be34d44d5604944
CRs-Fixed: 2093741
2017-08-31 11:46:41 -07:00
snandini
0b45bc7085 Release 5.2.0.40V
Release 5.2.0.40V

Change-Id: Id64a66c8de146f678d2549091c9269e26c90c719
CRs-Fixed: 774533
2017-08-31 11:00:45 -07:00
Liangwei Dong
05475a7868 qcacld-3.0: Fix nss value zero issue
If DUT connects to 1x1 AP in DBS mode, the nss value
will be reduced to 0 in current logic.

Fix by checking the nss > 1 before reduce.

Change-Id: I908ba358411ec7c99f57bb472a0d52a24e0422c3
CRs-Fixed: 2089211
2017-08-31 11:00:44 -07:00
Abhishek Singh
b59f8d40ee qcacld-3.0: Use user provided BW for 2.4Ghz HT connection
Add support to use user provided BW for 2.4Ghz HT connection.
If HT capability in connect req indicate connection in HT20, force
the connection in 2.4Ghz to HT20 only even if AP support HT40.

Added ini override_ht20_40_24g to enable/disable this feature.

Change-Id: Ia03b67b9d6487e3e27f1cf8875afe95af1300b4f
CRs-Fixed: 2084929
2017-08-31 11:00:42 -07:00
Paul Zhang
87251ccfa6 qcacld-3.0: Don't check MIC fail if SA is self MAC
When DUT connects to specific AP, it receives the frame whose
SA is self MAC and MIC failure flag is set at the same time.
This will cause disconnection with the AP because MIC failure.

To fix this unexpected disconnection issue, do not check MIC
failure if discard flag is set by fw.

Change-Id: I9029da9d329679bf0fd61be234690c764cceb57c
CRs-Fixed: 2090575
2017-08-31 11:00:40 -07:00
snandini
ae23028c96 Release 5.2.0.40U
Release 5.2.0.40U

Change-Id: If9040c0126b4bccf82391d383ec51a98a56f9ea8
CRs-Fixed: 774533
2017-08-31 09:54:44 -07:00
Nachiket Kukade
a48556932a qcacld-3.0: Start vendor ACS timer after the vendor event is sent
Driver starts a vendor ACS timer which times out if vendor app doesn't
respond with commands within stipulated time. But in do_acs this timer
is started before all the channel list parsing, regulatory checks and
buffer allocation code. In some cases this takes up enough time to
expire the timer before sending the vendor event. Similar situation will
arise if a buffer allocation fails in between.
To avoid this start timer after the vendor event is sent.

Change-Id: If9bea4643e03f0541ac8d8af2183c1e8d3a6cc40
CRs-Fixed: 2096246
2017-08-31 09:54:41 -07:00
snandini
2882bb0e00 Release 5.2.0.40T
Release 5.2.0.40T

Change-Id: Ie181043d02ecff4ed29131cde29c30a472abde1e
CRs-Fixed: 774533
2017-08-31 08:54:53 -07:00
Jeff Johnson
9755a513cd qcacld-3.0: Replace hdd_context_t in wlan_hdd_ext_scan.[ch]
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.

Change-Id: I72ba57c8226c90c3c9f42f13445bb357d8a1b9c3
CRs-Fixed: 2100198
2017-08-31 08:54:51 -07:00
snandini
87de0bf1b3 Release 5.2.0.40S
Release 5.2.0.40S

Change-Id: I4fcbdac74e7db19e2177c3a6e25c5283ca48c00c
CRs-Fixed: 774533
2017-08-31 08:08:11 -07:00
Amar Singhal
e4a2dd5dbc qcacld-3.0: Add INI for 11d scan interval
The default 11d scan interval is 1 hour. But make the 11D scan interval
programmable by user to test different intervals. Therefore provide INI
for the same.

Change-Id: Ifd0705eda69a0672ee41ea39f8230f533f5aa62a
CRs-Fixed: 2088739
2017-08-31 08:08:10 -07:00
Varun Reddy Yeturu
30c24b7afb qcacld-3.0: Do not create vdev if already created
if a SEL_STA is being created then check if the session
on which it is being created is already active and deny
the request

Change-Id: I2ae4aa6034afdefb9ee61c28e4be2b0de6891a44
CRs-Fixed: 2084306
2017-08-31 08:08:08 -07:00
Varun Reddy Yeturu
c13cfaf10f qcacld-3.0: Introduce rate limiting in PE debug
Introduce debugging rate limiting functionality in PE by
using QDF abstraction and use it for the logs which are
not needed to be printed very often

Change-Id: I9ff5924786519da52917a6c0f14d9c8beabcca53
CRs-Fixed: 2087172
2017-08-31 08:08:06 -07:00
Varun Reddy Yeturu
151376c3bf qcacld-3.0: Fix potential buffer overflow issues in RRM
Check for the maximum supported neighbor response reports while
parsing the pFrm->NeighborReport.

Change-Id: I4ee93adf79057e803bd948ed8657efcd4327efb8
CRs-Fixed: 2098766
2017-08-31 08:08:04 -07:00
snandini
b9d24fbb9f Release 5.2.0.40R
Release 5.2.0.40R

Change-Id: I9cb8508d8d0be7c72db7d007db47622460c43bc5
CRs-Fixed: 774533
2017-08-31 07:27:51 -07:00
Jeff Johnson
dd595cb4f0 qcacld-3.0: Replace hdd_context_t in wlan_hdd_ipa.[ch]
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.

Change-Id: Ic75ce44e589f35b390614c7ed77e240184e4ce82
CRs-Fixed: 2100190
2017-08-31 07:27:50 -07:00
Jeff Johnson
1876762018 qcacld-3.0: Replace hdd_context_t in wlan_hdd_p2p.c
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.

Change-Id: Ied864c85ff8143d44f0eb35e0f49166f88e578ba
CRs-Fixed: 2100172
2017-08-31 07:27:47 -07:00
snandini
65cee2c326 Release 5.2.0.40Q
Release 5.2.0.40Q

Change-Id: Ifb5d728647663b1e39515a5c19cafb7fb5e397a1
CRs-Fixed: 774533
2017-08-31 05:19:19 -07:00
Jeff Johnson
56acf4386f qcacld-3.0: Replace hdd_context_t in wlan_hdd_he.[ch]
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.

Change-Id: Ib8b11a064c448c1f1995bf192c6a70f49391cbd5
CRs-Fixed: 2100194
2017-08-31 05:19:16 -07:00
snandini
2ba9669d0f Release 5.2.0.40P
Release 5.2.0.40P

Change-Id: I9e786b831662391432d3eb2e72f75e2a34cb4b78
CRs-Fixed: 774533
2017-08-31 04:20:47 -07:00
Jeff Johnson
c54bbf94d7 qcacld-3.0: Replace hdd_context_t in wlan_hdd_hostapd.[ch]
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.

Change-Id: I78b16ac511713e20c5b4a7d53315149a80d72e13
CRs-Fixed: 2100192
2017-08-31 04:20:44 -07:00
snandini
9ebb5c5299 Release 5.2.0.40O
Release 5.2.0.40O

Change-Id: I4083ea378fd1b7ebb03b94911f1756dfd2490397
CRs-Fixed: 774533
2017-08-31 03:33:45 -07:00
Jeff Johnson
24d267efac qcacld-3.0: Replace hdd_context_t in wlan_hdd_scan.[ch]
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.

Change-Id: Ic173dab22fa7279634e913a28530a5b405b0a775
CRs-Fixed: 2100166
2017-08-31 03:33:45 -07:00
Jeff Johnson
714fb034ea qcacld-3.0: Replace hdd_context_t in wlan_hdd_subnet_detect.c
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.

Change-Id: I58246d49ae36d6555b21832d12c2ca6735c5a507
CRs-Fixed: 2100143
2017-08-31 03:33:42 -07:00
Jeff Johnson
9797fa1ae3 qcacld-3.0: Replace hdd_context_t in wlan_hdd_fips.c
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.

Change-Id: I8a8189717acf389b326325c1edb64b7df904fa47
CRs-Fixed: 2100141
2017-08-31 03:33:40 -07:00
snandini
4e8c771f88 Release 5.2.0.40N
Release 5.2.0.40N

Change-Id: I8b6c18bdfaa6c99e8ae00c02de9062297e47325a
CRs-Fixed: 774533
2017-08-31 02:52:38 -07:00
Jeff Johnson
7819caa75b qcacld-3.0: Replace hdd_context_t in cds_api
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.

Change-Id: I8404fa2fc32269a92522f6ae15f8d9d1a8aebf85
CRs-Fixed: 2100140
2017-08-31 02:52:38 -07:00
snandini
eb849af214 Release 5.2.0.40M
Release 5.2.0.40M

Change-Id: Iee331f77d7bb80277290a19e346f596b767e1b69
CRs-Fixed: 774533
2017-08-31 01:34:15 -07:00
Paul Zhang
fda3a59222 qcacld-3.0: Fix STA can't disconnect with AP issue
pe_roam_synch_callback creates new pe session and initializes
the varible bssIdx with add_bss_params->bssIdx which is not
initialized. When beacon miss event happens, it can't disconnect
with the AP because the session is not found for bssidx zero.

Change-Id: I44b79fe7ee0a8fc4ecc6f41e2574c203b0755827
CRs-Fixed: 2094326
2017-08-31 01:34:15 -07:00
snandini
a3988f76ce Release 5.2.0.40L
Release 5.2.0.40L

Change-Id: Idc7d2a00adb782bde533735cb739c7ab12caff4e
CRs-Fixed: 774533
2017-08-30 21:26:26 -07:00
Rajeev Kumar Sirasanagandla
248697d555 qcacld-3.0: Fix incorrect argument in SETROAMMODE IOCTL handler
qcacld-2.0 to qcacld-3.0 propagation

While processing SETROAMMODE IOCTL, invalid argument is passed to
kstrtou8() due to which error is returned for valid command.

To fix this, invoke kstrtou8 with base 10.

Change-Id: I78b10b6c13338c3afa420792e2ddbc7c945a7fec
CRs-Fixed: 2101398
2017-08-30 21:26:26 -07:00
wadesong
8332b59669 qcacld-3.0: Protect tx descritpor states during allocation
Tx descriptors' state info, such as vdev pointer, vdev ID and
ref_cnt, are protected by a spin lock during freeing, but not
protected by the same lock during allocation. Correct the
discrepancies to avoid a NULL pointer dereference issue

Change-Id: Ie0fb634a893a8d33888f7f1f6685a4fb7219e308
CRs-Fixed: 2091379
2017-08-30 21:26:23 -07:00
Hu Wang
c314884bcd qcacld-3.0: Don't set default key for WAPI network
Set default key is for WEP network, don't set it for WAPI network.

Change-Id: I6b94777a57a6978a7abc56750fd475aaff2c8c94
CRs-Fixed: 2063926
2017-08-30 21:26:22 -07:00
snandini
a8eba0cecf Release 5.2.0.40K
Release 5.2.0.40K

Change-Id: Ib56a8021f5cd952be90d9e2ce46304521cc8a6e1
CRs-Fixed: 774533
2017-08-30 20:21:35 -07:00
Rajeev Kumar
052d57c0aa qcacld-3.0: Rename hdd *_rate_limited logging APIs to *_ratelimited
Rename hdd *_rate_limited logging APIs to *_ratelimited.

Change-Id: I0b10b37ddf8602e82c06d1770ceee1b0e9df0797
CRs-Fixed: 2098817
2017-08-30 20:21:34 -07:00
Sridhar Selvaraj
0d5d2c745c qcacld-3.0: Add Support for FILS Association
Adds the following  support:
1) Add FILS IE's to assoc request.
2) AEAD encrypt/decrypt the assoc request/response frames for FILS
3) Process/Verify the Assoc response for the FILS params
4) Plumb the Auth keys to firmware after successful FILS assoc
5) Update the user space with Auth key details

Change-Id: I57f6319cecdf10e08047b510321b885c3cd711b5
CRs-Fixed: 2030038
2017-08-30 17:43:53 -07:00
snandini
7a412e492b Release 5.2.0.40J
Release 5.2.0.40J

Change-Id: Ie13b44d1a2e8f494901383ae7600b4f1ebdb5e5a
CRs-Fixed: 774533
2017-08-30 10:46:26 -07:00
Rajeev Kumar Sirasanagandla
5bacf7fcfe qcacld-3.0: Log rssi in wlan_hdd_get_rssi
qcacld-2.0 to qcacld-3.0 propagation

In the current code, there is no log of rssi value in wlan_hdd_get_rssi.

To fix this, add print for rssi.

Change-Id: I7db04c7defd26d2cd9792e96805ff524d88bb9b4
CRs-Fixed: 2045201
2017-08-30 10:46:21 -07:00
Ashish Kumar Dhanotiya
15a7db51d2 qcacld-3.0: Reject interface up request during removal of driver
During the driver unload driver de-registers the netdevices taking
hdd_init_deinit_lock and if any userspace entity trying issues the
interface taking the rtnl_lock resulting in the deadlock as one
thread is waiting for the rtnl_lock to be released taking the
hdd_init_deinit_lock and other thread is waiting for hdd_init_deinit_lock
taking the rtnl_lock. Since the driver is unloading reject the
interface up request before acquiring the hdd_init_deinit_lock.

To address this issue do not proceed with hdd_open if unload is in
progress.

CRs-Fixed: 2078720
Change-Id: Ie8c8bba8d142312d3504c40a839343e16fc3b31e
2017-08-30 10:46:18 -07:00
snandini
1b5db77b70 Release 5.2.0.40I
Release 5.2.0.40I

Change-Id: Idbbd63eb7415b80308287be2622c5b22cba6d294
CRs-Fixed: 774533
2017-08-30 10:46:12 -07:00
yeshwanth sriram guntuka
ca71d037a8 qcacld-3.0: Fix excessive logging
kmsg is flooded with excessive logs from lim_enable_11a_protection.

Fix is to change log level to debug.

Change-Id: I05d8def15660cc519c44870359ff6c337a44ed60
CRs-Fixed: 2072944
2017-08-30 10:46:08 -07:00
snandini
07e7182dfc Release 5.2.0.40H
Release 5.2.0.40H

Change-Id: I5d255fb2c0c79e718dad5017ee350590eab89be6
CRs-Fixed: 774533
2017-08-30 10:46:04 -07:00
Dustin Brown
8aef46daf6 qcacld-3.0: Fix compilation issue no member named ‘center_freq_seg2_idx’
Linux kernel 4.12 renamed center_freq_seg2idx to center_freq_seg1idx and
center_freq_seg1idx to center_freq_seg0idx. Add conditional compilation
to access the correct fields based on the kernel version.

Change-Id: Id8c20f9e47eecdbdf121c88cb5e017f662e2e15e
CRs-Fixed: 2091058
2017-08-30 10:46:00 -07:00