Commit Graph

10445 Commits

Author SHA1 Message Date
nshrivas
ce7c81d253 Release 5.2.0.91L
Release 5.2.0.91L

Change-Id: I83fba8b17b7d36eb929ce5e2f1e75ef22a0b41ac
CRs-Fixed: 774533
2018-08-07 18:10:27 -07:00
Tushnim Bhattacharyya
3f78053b87 qcacld-3.0: Do HW mode change based on all the candidate APs for STA
The driver currently changes the hw_mode based upon
the first candidate found in the scan list, and tries
to connect to it. It may happen that the connection
fails, and the STA then tries to connect to the AP
on same channel as the concurrent adapter.
It would result in hw_mode = DBS, as it is not
updated after  connection success/failure.
Also if the first AP channel is in same band as that
of concurrent adapter, and the connection fails,
and the STA tries to connect to an AP in a different
band, this too is not allowed as hw_mode is not DBS

Fix is to change the hw_mode based upon the scan list.
If the driver finds any scan result which may lead to
DBS connection, the hw_mode should be set to DBS.
Once the connection is done or failed, the driver
can check and update the hw_mode again.

Change-Id: I42ffe0c63371e048771e2b9b00b887e9c6c65d6c
CRs-Fixed: 2288572
2018-08-07 18:10:26 -07:00
Rajeev Kumar Sirasanagandla
4015d747a2 qcacld-3.0: Remove eSAP_CH_SELECT from SAP FSM
Since, internal channel select is no longer in use and is obsolete.
Therefore, remove eSAP_CH_SELECT state from SAP state machine.

Change-Id: I7960999b983ddc1b5f6048aacbe92c500350a49b
CRs-Fixed: 2288258
2018-08-07 18:10:22 -07:00
nshrivas
0487219431 Release 5.2.0.91K
Release 5.2.0.91K

Change-Id: Ib31e87d9f17d6d11656c9da607ce7073a4d4feac
CRs-Fixed: 774533
2018-08-07 15:57:32 -07:00
Zhu Jianmin
994174cf69 qcacld-3.0: Collect F/W dump when host F/W out of sync
When host F/W out of sync issue is found in driver, assert
command is needed to send to firmware to collect firmware dump
even self recovery isn't enabled on Rome,  or no enough
firmware info for debug.

Change-Id: I457c20f6ba908cac32cfc9b27fbaf980f1ec174d
CRs-Fixed: 2289539
2018-08-07 15:57:32 -07:00
Yeshwanth Sriram Guntuka
6c909ebd44 qcacld-3.0: Avoid queuing multiple WM status change cmd for same peer
In SAP mode, one peer sends multiple deauth frames which
results in queuing multiple WM status change cmd which
is added at head of queue. WM status change cmd is added
at head of queue for other peers which results in delay
in processing the cmd for first peer. The WM status cmd
is processed and peer is deleted and connection is
initiated by the same peer. The remaining WM status change
cmd is now processed and del_sta is triggered. On receiving
del_sta response, cleanup_trigger in sta_ds is checked
and eWNI_SME_DISASSOC_RSP message is posted to SME instead
of eWNI_SME_DISCONNECT_DONE_IND since the sta_ds entry is
added newly. This will result in active command timeout
since WM status change cmd is not removed from active queue.

Fix is to drop deauth or disassoc frame after the first one
is processed and use normal priority to queue WM status
change cmd.

Change-Id: Ib87fa7496d4adb6e25c30de657ce62101ca6f263
CRs-Fixed: 2291442
2018-08-07 15:57:28 -07:00
nshrivas
0026feb041 Release 5.2.0.91J
Release 5.2.0.91J

Change-Id: I7a3f0c207de4fe45629f5997c82b554e5e1d0b1e
CRs-Fixed: 774533
2018-08-07 08:41:24 -07:00
Min Liu
f2bc4850fa qcacld-3.0: Delete peer when vdev start timeout
When failure status is received in vdev start response from FW,
host will call wma_remove_peer to delete peer.
However, this operation is not done in the timeout handler of vdev
start request and it will lead to peer leak when vdev start response
failed to be received from FW.
Add peer deletion in vdev start request timeout handler accordingly.

Change-Id: I419369d09be1bd4b7e19e45b11256190fd2ec267
CRs-Fixed: 2288937
2018-08-07 08:41:24 -07:00
Sravan Kumar Kairam
a886120770 qcacld-3.0: Do rx inorder replenish for fragmented packets
Currently for fragment packets received legacy rx buffer replenish
is done which does not take in to account number of msdu count but
depends on fill count. Variable fill count is not protected and the
value becomes incorrect if AP sends both the fragmented and normal
packets at the same time. This leads to rx buffer replenish failure
and eventually data stall. To fix this do rx inorder replenish for
fragmented packets similar to normal ones if rx full reorder offload
is enabled.

Change-Id: I144c10be7b45268300b040e07ecb909a1ca113cc
CRs-Fixed: 2289797
2018-08-07 08:41:21 -07:00
Vignesh Viswanathan
d5a5f2e278 qcacld-3.0: Add support for OUI framework during join request in CSR
Add support to use the action OUI framework to identify vendor APs from
the ini and apply vendor AP specific WARs during CSR join request.

Change-Id: Icb6742bfeb9515c11d61034b795b95b92e833b64
CRs-Fixed: 2254532
2018-08-07 08:41:18 -07:00
nshrivas
ff909ba8e7 Release 5.2.0.91I
Release 5.2.0.91I

Change-Id: Ie97fad46c4ac5e2b8922c33095b7d0dcde67afac
CRs-Fixed: 774533
2018-08-07 02:19:19 -07:00
Tushnim Bhattacharyya
aececb20dc qcacld-3.0: Add ENABLE_DBS_CXN_AND_DISABLE_SIMULTANEOUS_SCAN
Add ENABLE_DBS_CXN_AND_DISABLE_SIMULTANEOUS_SCAN option for the ini
gDualMacFeatureDisable. This is to enable DBS support for the
connection and disable simultaneous scan from upper layer. But DBS
scan remains enabled in FW.

Change-Id: Ic280de2cc63a3775c0d9dd61985ff89df58a4a89
CRs-Fixed: 2288294
2018-08-07 02:19:18 -07:00
Nirav Shah
6a17618a8a qcacld-3.0: Replace MAX_SME_SESSIONS macro to SIR_MAX_SUPPORTED_BSS
Use SIR_MAX_SUPPORTED_BSS macro to decide max number of SME sessions
to avoid timer leak issue as SIR_MAX_SUPPORTED_BSS can be
configured through kbuild.

Change-Id: I86377d43ceb1b5cfcaa7c17a15a4fb300b79246b
CRs-Fixed: 2288864
2018-08-07 02:19:15 -07:00
nshrivas
00c7d9ea1c Release 5.2.0.91H
Release 5.2.0.91H

Change-Id: I3d52efdac3cb6dab04938466157aaae98ea249b1
CRs-Fixed: 774533
2018-08-06 20:55:19 -07:00
Kiran Kumar Lokere
782bb6cc73 qcacld-3.0: Fix the stability issue in wlan stop modules
wait for single event in umac_stop instead of wait for event
completion in which the events can be forcefully get reset
in the event of SSR.

Change-Id: I1925b820c7c292acbc019b058ff51297ad800b88
CRs-Fixed: 2289353
2018-08-06 20:55:18 -07:00
Jeff Johnson
4ea7974ce3 qcacld-3.0: Refine the mac_start() API
The mac_start() API currently specifies a void pointer for the "start
params" parameter. But both mac_start() and its caller must agree on
the type of this structure, so replace the void pointer with the
actual struct pointer. In the process rename that struct to comply
with the coding style and relocate it to be a part of the MAC Init
API.

Change-Id: I7fc62abbb17d214551ca6ff0cda8b76d218280e3
CRs-Fixed: 2290807
2018-08-06 20:55:14 -07:00
nshrivas
4af1cf4d6d Release 5.2.0.91G
Release 5.2.0.91G

Change-Id: If206553f7239ae5cdcbe8c5165b1bc35ea516329
CRs-Fixed: 774533
2018-08-06 19:03:12 -07:00
Dustin Brown
d0bf6403d2 qcacld-3.0: Reduce SMMU mapping logs
Reduce the number of logs during the SMMU mapping process in
cds_smmu_mem_map_setup by refactoring the logic to reduce the number of
branches.

Change-Id: I1a8b0ece31ab51eaf6f96232b284b61d77c83084
CRs-Fixed: 2291034
2018-08-06 19:03:12 -07:00
Dustin Brown
6099ddc417 qcacld-3.0: Add Driver Synchronization Core (enablement)
The Driver Synchronization Core (DSC) is a set of synchronization
primitives for use by the driver's orchestration layer. It provides APIs
for ensuring safe state transitions (including bring up and tear down)
of major driver objects: a single driver, associated psocs, and their
associated vdevs.

APIs are divided into two categories: mutual exclusion of conflicting
transitions, and operation tracking, blocking, and waiting capabilities.

For part 6, enable the DSC component.

Change-Id: I0ac37f479a4a38e346fb91ad041a4f51ccc6c879
CRs-Fixed: 2290260
2018-08-06 19:03:09 -07:00
nshrivas
f88b7f861f Release 5.2.0.91F
Release 5.2.0.91F

Change-Id: I9dee809b6b2e731603470f839b895ddb9faeb74b
CRs-Fixed: 774533
2018-08-06 06:28:03 -07:00
Yun Park
5fe20500cd qcacld-3.0: Check kernel scheduler APIs for wake up on idle CPU
Check PF_WAKE_UP_IDLE macro defined to determine the presence of
kernel scheduler APIs for wake up on an idle CPU.
If not, call dummy functions instead.

Change-Id: I34065aa244dc132e228c6e9f764c8eae90d81261
CRs-Fixed: 2168716
2018-08-06 06:28:03 -07:00
nshrivas
071a021a38 Release 5.2.0.91E
Release 5.2.0.91E

Change-Id: I06e90fc7eb69e269d6b0a6da07763a572f2de93a
CRs-Fixed: 774533
2018-08-06 04:21:25 -07:00
jitiphil
900e0e617a qcacld-3.0: Reuse preample type, vht_sig_a_1 and vht_sig_a_1
In monitor mode, current implementation
uses the preample type, vht_sig_a_1 and vht_sig_a_1
values associated with each mpdu, instead of reusing
the values from the first mpdu, to calculate data rates.

This is causing incorrect rates to be recorded in monitor mode logs
Reuse preample type, vht_sig_a_1 and vht_sig_a_1 of first
mpdu till the last mpdu is reached.

Change-Id: Ia6e5c1b3b0cc8d8b27f16cdfbd469fdba5c4a8f2
CRs-Fixed: 2276766
2018-08-06 04:21:25 -07:00
Nirav Shah
575282cd60 qcacld-3.0: Featurize DSRC(802.11p) implementation
Featurize DSRC(802.11p) implementation

Change-Id: I64baee9d26b2300b7a7282ad2eff031c0b02b0b2
CRs-Fixed: 2287352
2018-08-06 04:21:21 -07:00
Nirav Shah
6ebfe2419d qcacld-3.0: Separate out HL and LL RX data path
Separate out HL and LL Rx Data Path in different files
to compile out features cleanly

Change-Id: Ifc0e2d7e740142f0115d1fcd53db2936f7a30979
CRs-Fixed: 2287351
2018-08-06 04:21:18 -07:00
Nirav Shah
52d85aacf5 qcacld-3.0: Separate out HL and LL TX data path
Separate out HL and LL Tx Data Path in different files
to compile out features cleanly.

Change-Id: I9033a5bc83bbc95ff00be3f46dc6eda65eab9e71
CRs-Fixed: 2287346
2018-08-06 04:21:13 -07:00
nshrivas
39f150ce40 Release 5.2.0.91D
Release 5.2.0.91D

Change-Id: I0c5246f3c21266a19d6175c8a1fb8254b214ca0c
CRs-Fixed: 774533
2018-08-03 23:44:17 -07:00
Abhinav Kumar
87ccf7b34b qcacld-3.0: Update last_scan_reject_timestamp with proper value
When the scan is rejected, driver saves the scan reject reason and the
rejected time by converting the jiffies to msec. In case when
HZ is 100 while converting jiffies to msec, jiffies_to_msecs() return
wrapped value of jiffies(in msec). This result value of the current jiffies
(return value of jiffies_to_msecs API) becomes greater than scan reject
time (pHddCtx->last_scan_reject_timestamp) and __wlan_hdd_cfg80211_scan
trigger SSR in case of scan rejection.

Fix is to Use jiffiy directly instead of using jiffies_to_msecs()
while updating scan reject time(pHddCtx->last_scan_reject_timestamp).

Change-Id: Ib86830456fdc48143bf282779216ab94aed11923
CRs-Fixed: 2289992
2018-08-03 23:44:15 -07:00
nshrivas
7c258d6d6e Release 5.2.0.91C
Release 5.2.0.91C

Change-Id: I4b76aac33691fde2f9b0687df33389a28f9cf852
CRs-Fixed: 774533
2018-08-03 22:00:47 -07:00
Alok Kumar
90a73092e6 qcacld-3.0: Consider INI param LROEnable during advertising LRO
Currently in driver we are advertising LRO Support as part of
hdd_init_station_mode() with dev->features |= NETIF_F_LRO.

This is not tied up with INI param "LROEnable", to advertise LRO
to kernel. Add INI check for "LROEnable" before advertising LRO.

Change-Id: I6a3940b65e72ae12015d0303c573456d44e1ac9c
CRs-Fixed: 2269590
2018-08-03 22:00:46 -07:00
nshrivas
6d00fad947 Release 5.2.0.91B
Release 5.2.0.91B

Change-Id: I34f8bcb9381f67b08ba810132c2f80d2e0adc7c4
CRs-Fixed: 774533
2018-08-03 18:43:45 -07:00
Paul Zhang
9ffb043af4 qcacld-3.0: Remove the ssidlen check in get_sta_stats
Per protocol definition, the ssid length in OWE bss’s IE is zero
when in OWE transition mode. And the api wlan_hdd_get_sta_stats
thinks it is invalid ssidlen and returns directly. It causes the
uplayer can not get stats info.

Change-Id: I20eb7aa79ce25a4b66d9be093510eb414d4fca42
CRs-Fixed: 2285542
2018-08-03 18:43:44 -07:00
Arunk Khandavalli
a592bb6164 qcacld-3.0: Dont start the adapter from the change interface
With the latest android upgrade after the sap is turned off
change interface will switch netdev back to original mode and
starting the adapter in this state will create resources even
when the upper layer is not using the netdev.
Do not start the adapter from the change interface.

Change-Id: I763879ecc84dca4115bca0e4e805b8b4b6108bb8
CRs-Fixed: 2270730
2018-08-03 18:43:38 -07:00
nshrivas
14a4a40051 Release 5.2.0.91A
Release 5.2.0.91A

Change-Id: I5248a61dae532b393c4bcf039cfaf875a07d45af
CRs-Fixed: 774533
2018-08-03 14:28:41 -07:00
Dustin Brown
024c9cd510 qcacld-3.0: Split probe into probe and reinit
The PLD probe event handler does both probe and reinit. However, the
probe and reinit logics are quite different. Split this shared logic
into two handler functions, one for probe and one for reinit. Update the
PLD probe event handler to invoke the correct handler function based on
the reinit flag received as part of the event.

Change-Id: Id48d18aee0d449b6849297848c2bab96c6e008ae
CRs-Fixed: 2290221
2018-08-03 14:28:41 -07:00
Dustin Brown
86d196bacd qcacld-3.0: Normalize bus bandwidth init/deinit sequence
The HDD bus bandwidth infrastructure init/deinit sequence is currently
very sporadic. Startup and re-init initialize it at different point, and
failed to de-initialize it in the case of failure. Likewise, exit and
shutdown de-initialize it at different points. Update the HDD bus
bandwidth init/deinit sequence so that it is uniform and symmetrical in
all situations.

Change-Id: I5312bd340d885aafb8d4e809672eb02afc199781
CRs-Fixed: 2290237
2018-08-03 14:28:37 -07:00
nshrivas
f6e75c88de Release 5.2.0.91
Release 5.2.0.91

Change-Id: Ibc08ae0bc74d7e2332e515ce84a9831c3fc93ca1
CRs-Fixed: 774533
2018-08-03 12:39:58 -07:00
Dustin Brown
a31fa1103b qcacld-3.0: Validate adapter before sched scan stop
wlan_hdd_cfg80211_sched_scan_stop() currently does not validate the
given adapter or the hdd context. Validate both before performing a
scheduled scan stop operation on said adapter.

Change-Id: I4e0370ad059fbb0371a38300f33dfae7a9f8106d
CRs-Fixed: 2289411
2018-08-03 12:39:58 -07:00
nshrivas
af5a0e7212 Release 5.2.0.90Z
Release 5.2.0.90Z

Change-Id: Ib1788e1536b915088cf3603fb1287e1fc29134cb
CRs-Fixed: 774533
2018-08-02 20:36:03 -07:00
Ashish Kumar Dhanotiya
9fbe737fee qcacld-3.0: Increase ll_stats driver buffer size
Currently driver allocates buffer of size 10KB which is
getting filled completely in some cases when size of
ll_stats is more than 10KB. Because of this driver
ignores some of the stats and user space does not
get the complete stats.

To address this issue increase the size of the buffer
to 12 KB.

Change-Id: I8c5500545a3c69ecb5ba3b1bb3e7f3338a61714f
CRs-Fixed: 2279495
2018-08-02 20:36:03 -07:00
nshrivas
e0769cf1d1 Release 5.2.0.90Y
Release 5.2.0.90Y

Change-Id: I585f325fe8f63f4edf6afa90d08566b32101fe33
CRs-Fixed: 774533
2018-08-02 18:29:59 -07:00
Wu Gao
3365e780ff qcacld-3.0: Cleanup P2P and TDLS WNI configures
Use new cfg API for P2P and TDLS WNI configures, and cleanup related
legacy codes. Remove two not use P2P INI configures.

Change-Id: Ie37fd5e598ececba561581952a23601595607b2e
CRs-Fixed: 2286387
2018-08-02 18:29:58 -07:00
Kiran Kumar Lokere
8dba1899b8 qcacld-3.0: Fix the issue with HE MCS cfg with Nss setting
When the Nss is set to 2,MCS0-11 is used as default HE MCS config
for 2x2 mode which may not be same as 1x1 HE MCS config.
Use the 1x1 MCS config for Nss setting to 2 to keep the MCS
config same for both streams.

Change-Id: I76157357667696979976983e81f014182dfe769e
CRs-Fixed: 2284467
2018-08-02 18:29:55 -07:00
nshrivas
ba4125e5e8 Release 5.2.0.90X
Release 5.2.0.90X

Change-Id: I5b6c292e1c9def88b7dca81b9ba98ef0685fc987
CRs-Fixed: 774533
2018-08-02 15:00:24 -07:00
Yeshwanth Sriram Guntuka
25fa2c0792 qcacld-3.0: Don't fill any WMA request if target is not ready
If any WMA request is queued in wma hold req/vdev resp queue after fw
has crashed and sent the corresponding uevent to HOST, request will
timeout and if at the same time, SSR is also going on, it may lead to
various issues and crashes.

Check whether target is ready or not before queuing any request
in wma hold req/vdev resp queue.

Change-Id: I26b5746e9ba4f57f46b3a5a486bd85ef150d0ee7
CRs-Fixed: 2289004
2018-08-02 15:00:23 -07:00
Kiran Kumar Lokere
eac7fe9f27 qcacld-3.0: Fix issue with 256 BA buff size setting
Change the BA buffer size attribute value to 16-bit to set
the 256 BA buffer size. Define the max supported BA buffer
size and advertise the max supported buffer size if the
user configures the value greater than supported.

Change-Id: I5efdee60517e02572386e9751706722987f44261
CRs-Fixed: 2284461
2018-08-02 15:00:20 -07:00
nshrivas
2ce4b8a8a8 Release 5.2.0.90W
Release 5.2.0.90W

Change-Id: I0e4e68982b6e9eb3e1a2df2ee3daeb9eb264bc13
CRs-Fixed: 774533
2018-08-02 02:48:39 -07:00
Krunal Soni
d2136c7666 qcacld-3.0: Block Ack state machine enhancement
Add state machine changes to Addba request handling
in order to include IN_PROGRESS state until addba
response tx is not successfully completed. If response
tx is successful, move tid to ACTIVE state.

CRs-Fixed: 2254887
Change-Id: I09f9d8aa09bbb3fb98e0873657d1b8072371f0d8
2018-08-02 02:48:36 -07:00
nshrivas
8cd2124789 Release 5.2.0.90V
Release 5.2.0.90V

Change-Id: Id274361e24ad73acac138f5d9639bb1e22abec14
CRs-Fixed: 774533
2018-08-01 20:37:24 -07:00
Kiran Kumar Lokere
86e855955c qcacld-3.0: Set the TxBF CBF frame rate with NSTS setting
Set the TxBF CBF frame rates to FW with user NSTS configuration
setting.

Change-Id: I553c253bddb695f5c61d889cd7ef57694d00954f
CRs-Fixed: 2281265
2018-08-01 20:37:24 -07:00