Commit Graph

5758 Commits

Author SHA1 Message Date
Jeff Johnson
7869aadbd4 qcacld-3.0: Add Kbuild support for FIPS feature
In order to get FIPS certification the driver will need to support a
userspace API and accompanying logic to exercise the FIPS WMI
interface exposed by firmware. Since this logic need not be enabled on
production devices, expose a configuration knob so that it can be
enabled or disabled on demand.

Change-Id: I979be0175ea89e9147b07b222f54a7c3fc23dbd9
CRs-Fixed: 2065002
2017-06-29 19:05:54 -07:00
snandini
e30f7d353b Release 5.2.0.32I
Release 5.2.0.32I

Change-Id: If168d8a2a6e732634338c5a4d4fd2cbf981296c1
CRs-Fixed: 774533
2017-06-29 18:25:32 -07:00
Will Huang
03b54ee905 qcacld-3.0: Avoid using pointer without NULL check
Fix static analyze issues which cause is may dereference NULL
pointer, adding NULL pointer check or using already checked pointer.

Change-Id: Ib3a1f5214da839cd2bec4ffee16e0809095fa513
CRs-Fixed: 2058073
2017-06-29 18:25:31 -07:00
snandini
9e02d930f1 Release 5.2.0.32H
Release 5.2.0.32H

Change-Id: Ia524fd84b07a763a0dab3f6bbb2dc707383fbbd4
CRs-Fixed: 774533
2017-06-29 05:40:05 -07:00
Will Huang
bdd28711e5 qcacld-3.0: Correct NULL check when access function pointer
In function pld_pcie_uevent, pld_context->ops->uevent NULL check logic
is wrong so correct it.

Change-Id: I1bf9d8c8f5318b476761a458f5475107007dfa01
CRs-Fixed: 2058248
2017-06-29 05:40:05 -07:00
snandini
1190dfde42 Release 5.2.0.32G
Release 5.2.0.32G

Change-Id: I61db96ab9782a72d8d6ec1f66f51da196daa0de4
CRs-Fixed: 774533
2017-06-29 05:01:25 -07:00
lifeng
9537f47b1d qcacld-3.0: Fix memory leak in acs procedure
qcacld-2.0 to qcacld-3.0 propagation

Free the memory for channel list once the scanStatus is NOT
eCSR_SCAN_SUCCESS in WLANSAP_PreStartBssAcsScanCallback.

Change-Id: Id2d7fe5d7df8c032d50f02880deedb2ed1ac79fd
CRs-Fixed: 2059751
2017-06-29 05:01:24 -07:00
snandini
c1a281f52c Release 5.2.0.32F
Release 5.2.0.32F

Change-Id: I2371821139374ef312b581453838ce12b02980df
CRs-Fixed: 774533
2017-06-29 03:44:41 -07:00
Yu Wang
04ccd76c41 qcacld-3.0: add support for time stamping netbuf
Map the input target time to host time, and
time stamp netbuf with this host time.

Change-Id: I1fb298615267bb11c4f21cabe670fd4c3a12a759
CRs-Fixed: 2057693
2017-06-29 03:44:41 -07:00
Yu Wang
000dc2f19c qcacld-3.0: add support for target-host synchronization
To map target time to host time, implement a timer
to capture TSF and host time periodically.
The timer will be started when connection state of
sta/p2p_gc being changed from not associated to
associated; and stopped when from associated to
not associated.

Change-Id: I697080b95f01f173beddc038ab9ad89ee394354b
CRs-Fixed: 2057693
2017-06-29 03:44:39 -07:00
Yu Wang
f5d5b5f5cc qcacld-3.0: enhance the robustness of TSF capturing
1. Failed to get TSF if issuing cap_tsf more
   than 1 time continuously, due to the TSF
   value will be reset by the following 'cap_tsf'
   command, however, these 'cap_tsf' won't be
   excuted actually, because 'get_tsf' was not
   received after last successful 'cap_tsf'.
   To fix it, do TSF reset only if 'cap_tsf'
   will be actually excuted.

2. Add flag 'cap_tsf_flag' to make sure cap_tsf
   being executed serially.

3. Add flag 'tsf_ready_flag' to indicate whether
   TSF feature has been initialized successfully.
   Add 'TSF_NOT_READY' in 'hdd_tsf_get_state' to
   indicate this state.

Propagated from qcacld-2.0

Change-Id: Ib768e3d7f0b33a75e8bd838d4ed1c0b84e3aa13d
CRs-Fixed: 2057693
2017-06-29 03:44:38 -07:00
hqu
c7f560cb21 qcacld-3.0: Translate the AC enums defined in htt
The AC values used by htt and txrx module are mismatch. Assertion
is also added to confirm that the values are matching.

The change is also to sync with CLD2.0.

Change-Id: I011a6f2b78a6954863c99f9d3875b2c88d2b78b1
CRs-Fixed: 2065390
2017-06-29 03:44:37 -07:00
snandini
4099f0858c Release 5.2.0.32E
Release 5.2.0.32E

Change-Id: Ie43963e6248f2eb66523c4abed24b5c8d96fa4b4
CRs-Fixed: 774533
2017-06-29 01:49:51 -07:00
hqu
fd227fe3f8 qcacld-3.0: Initialize mapping from TIDs to category table
Add initialization for mapping from TIDs including extension TIDs
to category table.

The change is also to sync with CLD2.0.

Change-Id: Ie79e5420cc22f4cb3e34ceeb020f3fde8f170d4d
CRs-Fixed: 2065379
2017-06-29 01:49:50 -07:00
snandini
cf484c81fc Release 5.2.0.32D
Release 5.2.0.32D

Change-Id: I589f3f8498738bde601cc168c8b4927e24f76ace
CRs-Fixed: 774533
2017-06-28 19:28:10 -07:00
Naveen Rawat
e7e7899b29 qcacld-3.0: Initialize NDI with no protection
After VDEV_START set WMI_VDEV_PARAM_PROTECTION_MODE param to no
protection: IEEE80211_PROT_NONE. Currently NAN spec and firmware
implementation does not have a mechanism to identify when protection
is needed.

Change-Id: I5906097f44d2059e26e440d2435568ef661160bc
CRs-Fixed: 2033348
2017-06-28 19:28:09 -07:00
Naveen Rawat
4b1aab96e1 qcacld-3.0: Free gpLimRemainOnChanReq in lim_cleanup
In case remain on channel response is pending when wlan unloads, this
memory will leak. Free gpLimRemainOnChanReq memory when lim_cleanup is
called to avoid leak.

Change-Id: Ibf47bbc4b7eb5ce9509998cd40d0c3ce54e4da62
CRs-Fixed: 2051164
2017-06-28 19:28:08 -07:00
Naveen Rawat
746a90b284 qcacld-3.0: Initialize NSS to vdev_nss in roam_sync propagation
In roam sync propagation, initialise pe_session NSS to vdev_nss, which
will then later be updated as per ASSOC response frame received from
firmware. This allows roaming from 1x1 to 2x2.

Change-Id: I5260425c7bfdfaa09bac908ea7d8a89d5caa3f69
CRs-Fixed: 2058560
2017-06-28 19:28:07 -07:00
snandini
a8afd840f1 Release 5.2.0.32C
Release 5.2.0.32C

Change-Id: I5d8f848446389af75026ab2dddffe0c49d831d28
CRs-Fixed: 774533
2017-06-28 18:19:07 -07:00
Dustin Brown
732ab9c2c8 qcacld-3.0: add gEnableCckTxFirOverride ini item
When operating in an 802.11b mode, CCK TX FIR Override forces a 2x2
radio configuration into 1x for Tx and 2x for Rx (ie 1x2) for
regulatory compliance reasons. Add gEnableCckTxFirOverride to allow
this firmware feature to be enabled/disabled via ini configuration.

Change-Id: I359fc908fa27113e2500a28c343cf90dea518212
CRs-Fixed: 2062111
2017-06-28 18:19:06 -07:00
snandini
9ab8bb99a6 Release 5.2.0.32B
Release 5.2.0.32B

Change-Id: I7ec9d53a60bc23ff8fe6d2d34fad5b8c2e861610
CRs-Fixed: 774533
2017-06-28 17:33:37 -07:00
Tushnim Bhattacharyya
3d17def041 qcacld-3.0: Modify logic to associate with HT clients
Add the following rules when HT client is associating with SAP,
1.2G-AS platform: SAP associates with HT (11n) clients as 2x1 in 2G
and 2X2 in 5G.
2.Non-2G-AS platform: SAP associates with HT (11n) clients as 2X2
in 2G and 5G and async DBS scan is disabled.
3.5G-AS platform: SAP associates with HT (11n) clients as 2X2 in 2G
and 5G and async DBS scan is disabled.

Change-Id: Ia472e786cf3ffcb420aa8142a543b56f508c6b4a
CRs-Fixed: 2063482
2017-06-28 17:33:37 -07:00
snandini
6462ab8f88 Release 5.2.0.32A
Release 5.2.0.32A

Change-Id: Iab09a510e1939f51d777e8fa4e148e5e6f11f269
CRs-Fixed: 774533
2017-06-28 03:53:42 -07:00
Abhishek Singh
7eaf0e8528 qcacld-3.0: Use vht operation or opmode to change the VHT channel width
Even if vht operation or Opmode IE is present in beacon, HT info IE is used to
detect the channel width and set to firmware and then again vht operation or
opmode IE is used to detect and set new channel width to firmware.

So if vht operation or Opmode IE are present, use them to detect and set
new channel width.

Change-Id: Ibbb5a2c55a5f79536fe269e0b6c0f5ff2c369309
CRs-Fixed: 2067727
2017-06-28 03:53:42 -07:00
snandini
22de29ac46 Release 5.2.0.32
Release 5.2.0.32

Change-Id: I21c885a4c08174e5cad9c86f5e0d049d700818d0
CRs-Fixed: 774533
2017-06-28 01:48:47 -07:00
Ashish Kumar Dhanotiya
81e2acc6c8 qcacld-3.0: Fix out of bound read issue in get link properties
Propagatin from qcacld-2.0 to qcacld-3.0

Length of the MAC address is not checked which may cause out of bound
read issue.

To resolve this add a check for MAC address length.

CRs-Fixed: 2063980
Change-Id: I58454b84c28b157cef35984d612a9bc6fdd9ec56
2017-06-28 01:48:47 -07:00
snandini
dbf0be537d Release 5.2.0.31Z
Release 5.2.0.31Z

Change-Id: I326e6137f731e1fb25de30411eb8df1a102743d6
CRs-Fixed: 774533
2017-06-27 22:13:10 -07:00
Ravi Kumar Bokka
05c14e5c50 qcacld-3.0: Auto Detect SoC Power Collapse Failure changes
Add host support for detecting SOC power collapse failures in FW and
communicating the same to framework.

Change-Id: Icee39c896802c4d7136e0b8ef442a33feeb4799c
CRs-Fixed: 1112979
2017-06-27 22:13:09 -07:00
snandini
6bd6193be7 Release 5.2.0.31Y
Release 5.2.0.31Y

Change-Id: Ifb4ede70eaef1388082ff9fdc44792066e47d41a
CRs-Fixed: 774533
2017-06-27 05:34:17 -07:00
Nachiket Kukade
c9045fedd0 qcacld-3.0: Ignore address change requests when interface is down
In some cases kernel incorrectly forwards the address change request
down to the driver even when interface is down. Driver tries to get
the session pointer from mac context and ends up crashing due to NULL
pointer dereference.
Ignore address change requests when interface is down.

CRs-Fixed: 2060889
Change-Id: I2b572c517b335856cdf2ae04433b4a48a9598572
2017-06-27 05:34:16 -07:00
snandini
17c152af70 Release 5.2.0.31X
Release 5.2.0.31X

Change-Id: Iaa901fc8bc17304ea07a47a54fcaf485d87f57d4
CRs-Fixed: 774533
2017-06-27 01:40:21 -07:00
bings
75be2d0a45 qcacld-3.0: Fix crash caused by sdio ramdump allocation
For TF sdio chip with platform driver, ramdump is
configured in platform driver. Driver can get the
virtual memory, but it can't call ioremap again.

If there is a platform driver, ramdump should be
allocated in platform driver, and if there is no
platform driver, ramdump should be allocated in
driver.

CRs-Fixed: 2066529
Change-Id: Ia2a32a4895f354e365522a30bbfac949ccb7a391
2017-06-27 01:40:21 -07:00
snandini
d2eee305f4 Release 5.2.0.31W
Release 5.2.0.31W

Change-Id: I6876e41e668be3d4a97396dfa9fd69a968b19f6f
CRs-Fixed: 774533
2017-06-26 22:12:49 -07:00
Abhishek Singh
7889a7e84e qcacld-3.0: Do not change channel BW if channel is 0 in HT info
Do not change channel BW if channel is 0 in HT info, As this will
cause invalid channel and phymode sent to firmware and result into
crash.

Change-Id: Ia629314b9ced299afa5d89092d0a9fc5c7cb6b4c
CRs-Fixed: 2065143
2017-06-26 22:12:49 -07:00
snandini
d64296923d Release 5.2.0.31V
Release 5.2.0.31V

Change-Id: I5e35f76b085fd879c3191005c5e9499835af5610
CRs-Fixed: 774533
2017-06-26 18:24:08 -07:00
Zhu Jianmin
ded9d2dc57 qcacld-3.0: Prevent memory issue with more check
Add session_id range check etc

Change-Id: I749076a5f060873702b42ac4908e3220e805c349
CRs-Fixed: 2061117
2017-06-26 18:24:08 -07:00
snandini
70ac723588 Release 5.2.0.31U
Release 5.2.0.31U

Change-Id: Ibb265ab3bfbdfdab88308ba1e4857631dab453b0
CRs-Fixed: 774533
2017-06-26 11:58:01 -07:00
Deepak Dhamdhere
828f189328 qcacld-3.0: Add support for PMKID modes of PMK caching and OKC
Convert the boolean variables used for tracking okc_enable into
separate bit flags for OKC and PMK caching. Firmware will also
add support for bitwise enablement of OKC and PMK caching in 802.11i
configuration part of RSO command.

CRs-Fixed: 2004963
Change-Id: Ib2fcdc6318adb488eca5cf47b2b59541020e6009
2017-06-26 11:58:01 -07:00
snandini
5ccd060f25 Release 5.2.0.31T
Release 5.2.0.31T

Change-Id: I79435778f2ea0618b906ed63a98dc113a2e16e42
CRs-Fixed: 774533
2017-06-23 17:48:03 -07:00
Nachiket Kukade
4bea8b4d2b qcacld-3.0: Check on IE length to avoid buffer over-read
An incorrect IE length can overflow the remaining length variable
and make IE parsing logic perform a buffer over-read.
Check on IE length to avoid buffer over-read.

Change-Id: I20ef6a0136c7a5b602ad15a2fb725f20807b81d0
CRs-Fixed: 2052804
2017-06-23 17:48:02 -07:00
Nachiket Kukade
2f6509fce7 qcacld-3.0: Add maximum bound check on WPA RSN IE length
WPA RSN IE is copied from source without a check on the given IE length.
A malicious IE length can cause buffer overflow.
Add maximum bound check on WPA RSN IE length.

Change-Id: Id159d307e8f9c1de720d4553a7c29f23cbd28571
CRs-Fixed: 2052791
2017-06-23 17:48:01 -07:00
snandini
f1edc1a78d Release 5.2.0.31S
Release 5.2.0.31S

Change-Id: Ic22970f56649ffec2263de8324c413480a71912b
CRs-Fixed: 774533
2017-06-23 13:42:17 -07:00
lifeng
66831666b4 qcacld-3.0: Add vendor attr to get rx aggregation statistics
qcacld-2.0 to qcacld-3.0 propagation

By setting the corresponding parameters: reorder timeout and window size
to FW, the host will deliver information about aggregation of the packets
on RX to upper layer.

Change-Id: I404d56d8d9ca3e90f8d1dee28abd80d784924901
CRs-fixed: 1078111
2017-06-23 13:42:16 -07:00
snandini
1c41c55ca2 Release 5.2.0.31R
Release 5.2.0.31R

Change-Id: Ie600f63aa1860748c47d338bfe243c4b25439086
CRs-Fixed: 774533
2017-06-23 07:42:06 -07:00
Nachiket Kukade
142e996a65 qcacld-3.0: Feed retry count value to the correct category
During .set_phy_params operation, retry value for short retry
is incorrectly fed to the long retry parameter.
Only feed retry value for long retry into the long retry parameter.

Change-Id: I3e8838b9b0c21d3cbaafa3a1785dd3f793b5b372
CRs-Fixed: 2062561
2017-06-23 07:42:05 -07:00
snandini
2a41e3668e Release 5.2.0.31Q
Release 5.2.0.31Q

Change-Id: Ic2cae56551028bd41c7ea6906829ee2c69bc94d4
CRs-Fixed: 774533
2017-06-23 04:03:29 -07:00
Krunal Soni
4bfecf6e23 qcacld-3.0: Resolve compilation by protecting LFR3 feature
Few LFR3 related code checks are not protected which creates the
compilation issue on some of the platform.

Fix the compilation issue by moving LFR3 related code checks to
WLAN_FEATURE_ROAM_OFFLOAD macro.

CRs-Fixed: 2055018
Change-Id: I1ca4000c3bb15e33c2fc85f9117aa4f1ca2aeed4
2017-06-23 04:03:28 -07:00
Padma, Santhosh Kumar
03c3ad8e75 qcacld-3.0: Update dot11mode as per LFR version
Currently driver calculates dot11mode in CSR for LFR-2.0, saves in
global variable pFTPreAuthReq of PE context and later uses that in
lim. But for LFR-3.0, pFTPreAuthReq of PE context is NULL which
can result in NULL pointer access. Add a check for pFTPreAuthReq
to fix this issue.

Change-Id: Ia5cfbca912f9870b9ec7b33a015f4925022f448a
CRs-Fixed: 2055018
2017-06-23 04:03:27 -07:00
snandini
af4ea2a0bc Release 5.2.0.31P
Release 5.2.0.31P

Change-Id: I5d91b4afb430d46b31ef45592937cbeacd08bd9f
CRs-Fixed: 774533
2017-06-23 02:12:35 -07:00
Sravan Kumar Kairam
76ab2662f5 qcacld-3.0: Free allocated memory before return
Currently in function ol_copy_ramdump dynamically allocated memory
is not freed before return in error condition. In this change free
memory before return.

Change-Id: Ie75d69a1716c3598e0123064a6ee522076748f7d
CRs-Fixed: 2044460
2017-06-23 02:12:34 -07:00