Commit Graph

16624 Commits

Author SHA1 Message Date
nshrivas
bced046373 Release 5.2.0.143Y
Release 5.2.0.143Y

Change-Id: I76b256662a14c5e1a2a735a967fe4f7867f71c7c
CRs-Fixed: 774533
2019-08-13 16:23:28 -07:00
Mohit Khanna
f0620ce6ca qcacld-3.0: Add support for GRO flush indications
Add support for sending GRO flush indication to DP Rx Thread.

CRs-Fixed: 2495719
Change-Id: I8723dc696d8af705067a50dcf5f161ef4f28d485
2019-08-13 16:23:28 -07:00
Alan Chen
6a5eb9339c qcacld-3.0: Clear recovery flag after idle restart
Clear recovery flag after idle restart such that next time wifi can
turn on properly.

Change-Id: I7063a9edd08334a84068f88c0564dd4f2aabf666
CRs-Fixed: 2507899
2019-08-13 16:23:22 -07:00
nshrivas
bb673cfc19 Release 5.2.0.143X
Release 5.2.0.143X

Change-Id: If759d941bbb1ceecdab95f5be503cbe4198f3b4c
CRs-Fixed: 774533
2019-08-13 11:01:31 -07:00
Abhishek Ambure
93bb96104d qcacld-3.0: Add SERIALIZE_VDEV_RESP_TIMER in Kbuild
SERIALIZE_VDEV_RESP_TIMER macro enables target_if common code for
vdev response timer callback handlers.

Change-Id: Ic1f647a99a0c90f2492bdb0c9d2d525fabb6d86a
CRs-Fixed: 2507526
2019-08-13 11:01:31 -07:00
nshrivas
a2c8314f12 Release 5.2.0.143W
Release 5.2.0.143W

Change-Id: Iada1494b96f33a02f4c834ce68349d1adaec3b96
CRs-Fixed: 774533
2019-08-13 07:33:11 -07:00
gaurank kathpalia
ccfca4a11e qcacld-3.0: Update HE capabilities in wiphy structure
Update the mac, phy, mcs, nss caps of bands
2.4ghz, and 5ghz for HE capabilities in the
wiphy structure to inform userspace about
the driver capability.

Change-Id: I9fb1233e5396bf3ea411c057af9cbcd5b358271c
CRs-Fixed: 2486266
2019-08-13 07:33:10 -07:00
gaurank kathpalia
620027937f qcacld-3.0: Select default channel is no scan results present
Currently if the driver does not find any scan results
in the ACS scan, it selects a best channel as the PCl
channel by filtering the PCl list based upon the start
and end channel, which may not be correct everytime
as start and end channel does not specify the channels
to be selected.

Fix is to select a default operating channel from the
acs list itself, if no scan results are present.

Change-Id: I9a76957087b9349da66545e0fcaede2355f732cd
CRs-Fixed: 2504796
2019-08-13 07:33:05 -07:00
Ajit Pal Singh
9a0705e818 qcacld-3.0: HL: Iterate over txqs of a selected category
When CONFIG_FEATURE_HL_GROUP_CREDIT_FLOW_CONTROL is enabled each group
has its own credit limit.
It may happen that when the High Latency TX Scheduler selects a category
the txq at the head may belong to a group which has credits less than the
"credit_reserve" of that group. In this case the scheduler will return
without downloading any frames although the other group may have credits
and also frames to be downloaded.
The scheduler will be called again if there is a credit update from FW or a
packet arrives from network stack and the next txq will be picked up which
belongs to the group which has sufficient credits.

It is seen that sometimes there is no credit update from FW (since the
host has sufficient credits) and the network stack also does not
transmits packet since it has already queued packets in driver's queue.
In such case the scheduler is not called and throughput drop to zero is
seen although there are enough credits on host.

To avoid such a situation, in case scheduler is unable to download
packets from a txq since its group does not have enough credits, iterate
over to the next txq in the chosen category and download its packets.
Exit from the schduler is case able to download from any txq OR not able
to download from any txq.

Change-Id: I6143d5c3aa40761d1997846896e5e77435252b26
CRs-Fixed: 2485819
2019-08-13 07:33:01 -07:00
gaurank kathpalia
c99859b8cb qcacld-3.0: Convert channel to freq in vdev start structure
Convert channel to freq in vdev start structure to
avoid duplicate channel numbers in 6ghz, and 2.4ghz
operation.

Change-Id: Ie78d93a34d1d558b9c94fc8a54aa95ee07bda55e
CRs-Fixed: 2508040
2019-08-13 07:32:57 -07:00
nshrivas
839520b0cc Release 5.2.0.143V
Release 5.2.0.143V

Change-Id: Iabf51fc2fcd1234dabea4f21b54772479aec063e
CRs-Fixed: 774533
2019-08-13 04:17:19 -07:00
Pragaspathi Thilagaraj
ba42a982b3 qcacld-3.0: Check SAE & OWE target capability to enable RSO
Currently the host driver blocks roam scan offload command to
the target if the connected akm is OWE or SAE.

Add changes to read the WMI_SERVICE_WPA3_SAE_ROAM_SUPPORT and
WMI_SERVICE_WPA3_OWE_ROAM_SUPPORT service capability advertised
by the target and set it to the mlme fw_akm_bitmap. Read this
bitmap in csr_roam_offload_scan() to allow RSO command.

Also the connected akm is sent to the target via the
WMI_AP_PROFILE command. Translate the CSR akm type for OWE and
SAE akm also.

Change-Id: I68527722ab099e0c8e1681ed64ea416b9a6e9936
CRs-Fixed: 2491021
2019-08-13 04:17:19 -07:00
Yeshwanth Sriram Guntuka
4fb838c4e9 qcacld-3.0: TDLS sta_id cleanup for hdd_roam_deregister_tdlssta
hdd_roam_deregister_tdlssta takes sta_id as input and as a
part of clean up of sta_id, replace it by peer mac address.

Change-Id: Ie0d8e16606bd72d77cc5f152cf5bfe530bd3856b
CRs-Fixed: 2503949
2019-08-13 04:17:14 -07:00
Sourav Mohapatra
ffbd027f6b qcacld-3.0: Refactor HDD callers as per changes to cdp_clear_peer
Currently, the cdp API cdp_clear_peer takes as input the sta_id. As a
part of cleaning up the usage of sta_id, replace it by peer mac address.

Change-Id: I4f8bee21ae42d8c9929da8fe2fcfa534778647ed
CRs-Fixed: 2503139
2019-08-13 04:17:08 -07:00
Rakshith Suresh Patkar
0dd44df12c qcacld-3.0: Cleanup ol_txrx_clear_peer[PEER_ID_PHASE1]
Cleanup ol_txrx_clear_peer to be peer mac address based
from local peer id based.

Change-Id: I63154508e6a08f973a4c602de58217e6bf23d683
CRs-Fixed: 2503737
2019-08-13 04:17:04 -07:00
nshrivas
17f3e67be6 Release 5.2.0.143U
Release 5.2.0.143U

Change-Id: I9ddd5f51448cfa36289bb8c1c1b700e1c6865a9b
CRs-Fixed: 774533
2019-08-12 17:32:12 -07:00
Kiran Kumar Lokere
389c1f8bd0 qcacld-3.0: Set color collision detection period to 120 sec
Set the color collision detection period to 120 sec for
STA and SAP.

Change-Id: If34246b8b2899ae6f9daadcda6639a14d7bcf1c7
CRs-Fixed: 2507044
2019-08-12 17:32:11 -07:00
nshrivas
8e95142f82 Release 5.2.0.143T
Release 5.2.0.143T

Change-Id: I711b34e019ec50c0c010ab0b72bc8d8864e8730c
CRs-Fixed: 774533
2019-08-12 16:18:14 -07:00
Pragaspathi Thilagaraj
a97d498743 qcacld-3.0: Send preauth status for SAE hybrid roaming
For WPA3 SAE LFR-3.0 roaming, authentication is offloaded to the
wpa_supplicant via the host driver due to the target crypto
inavailability limitations. The target does candidate selection
and sends the WMI_ROAM_PREAUTH_START_CMDID to the driver.

Once the SAE authentication is done, the supplicant sends the
external auth NL command with the authentication status, PMKID
derived. On receiving this event, send the PMKID, bssid, auth
status to the target over WMI_ROAM_PREAUTH_STATUS_CMDID command.

The host driver decides if the external authentication event is
received for preauth candidate or for initial connection by
checking the connected state information of the csr session.

When the authentication fails with the first candidate, the
target triggers the preauth start for the next candidate. This
happens till there are no candidates available to roam.

There could be a situation where the firmware sends preauth
event for candidate1 and before the supplicant could send the
external auth command to the host driver, the candidate1 preauth
timer could have expired and firmware sends the preauth start for
second candidate. After SAE is done with second candidate also,
the supplicant sends external auth event for second candidate. So
in this situation the firmware should decide to choose the
latest candidate. The host driver here is a mere passthrough and
doesn't maintain timer for the preauth event for each BSSID to
drop the expired candidate preauth events.

Change-Id: I799a05e55a59677dfc2ddf5b55ebc888ccfea03e
CRs-Fixed: 2507003
2019-08-12 16:18:14 -07:00
nshrivas
d9a80277f6 Release 5.2.0.143S
Release 5.2.0.143S

Change-Id: Id2731c62baf4bcb12b3973552915d6215ae6ac37
CRs-Fixed: 774533
2019-08-12 12:24:06 -07:00
Rajeev Kumar
50b60da282 qcacld-3.0: Enable HW filters in runtime pm mode
Enable hw filter in runtime pm mode such that target
CPU wake ups can be avoided in order to achieve max
power savings.

Change-Id: I97aa26b063e70db5e3023faf6aa40cc53bfac3af
CRs-Fixed: 2502744
2019-08-12 12:24:05 -07:00
nshrivas
72dc87e3e0 Release 5.2.0.143R
Release 5.2.0.143R

Change-Id: I18f6596e779aa040ec7fb30c8c337ff289bc2c08
CRs-Fixed: 774533
2019-08-12 10:22:36 -07:00
Abhishek Ambure
d6a16152ce qcacld-3.0: Cleanup CMN_VDEV_MGR_TGT_IF_ENABLE in Kbuild
Remove "CMN_VDEV_MGR_TGT_IF_ENABLE" from Kbuild as target_if common
code is used for vdev operations and legacy code is removed.

Change-Id: I15fb2311aa1b6eeec506d9a6bdc720abaf93244e
CRs-Fixed: 2507456
2019-08-12 10:22:35 -07:00
nshrivas
14f10d1d78 Release 5.2.0.143Q
Release 5.2.0.143Q

Change-Id: I90826545dc0a2987e54c5396adc1d19323cfdcc8
CRs-Fixed: 774533
2019-08-12 08:50:36 -07:00
sheenam monga
fed7e28e4e qcacld-3.0: Return success status in case stop_ap command after SSR
In case Device is P2P GO and SSR is triggered due to any reason,
Stop_adapter is called. Inside stop adapter adapter->session.ap.beacon
 is freed. When P2P GO negotiation is initiated after SSR,
__wlan_hdd_cfg80211_stop_ap function tries to access
adapter->session.ap.beacon which freed during SSR.
Failure is returned in case adapter->session.ap.beacon is NULL,
Which causes failure of p2p negotiation.

Fix is to return success to upper layers in case SAP is already
down, So that beacon interval can be cleaned up.

Change-Id: Ie7a30475b2a54860843b1430964585d22f02c110
CRs-Fixed: 2503216
2019-08-12 08:50:36 -07:00
nshrivas
ae5b012c4e Release 5.2.0.143P
Release 5.2.0.143P

Change-Id: Ib663cf603aa9b6fa790241e4cd6a505fe841e4bf
CRs-Fixed: 774533
2019-08-12 05:35:15 -07:00
Guisen Yang
7d6e03669e qcacld-3.0: Enable IPA3 for sdxprairie arch
Enable IPA3 in qca6390 for sdxprairie platform. The IPA
over gsi and smmu are also enabled to make IPA workable.

Change-Id: I5ce6b22dcc4a6678deb6a5ac2d712fb82b6c5bf3
CRs-Fixed: 2496838
2019-08-12 05:35:15 -07:00
nshrivas
7e13d0f4cc Release 5.2.0.143O
Release 5.2.0.143O

Change-Id: Ib26d40ff1c3e102919ecd4ba484df3e4c105d542
CRs-Fixed: 774533
2019-08-12 04:23:31 -07:00
Jianmin Zhu
f07aa51b88 qcacld-3.0: Rename and replace typedef tpAddBssParams
The Linux Coding Style frowns upon mixed-case names so rename
identifier tpAddBssParams to be compliant.

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 tAddBssParams typedef does
not meet any of those criteria, so replace it (and the "tp" variant)
with a properly named struct.

Change-Id: Icf7fe19cfe6eb6fbac5689e3b5474d38c520b311
CRs-Fixed: 2506539
2019-08-12 04:23:30 -07:00
nshrivas
284298c3f4 Release 5.2.0.143N
Release 5.2.0.143N

Change-Id: I98e79ed50ff466303904f7f904b19a3eed663f54
CRs-Fixed: 774533
2019-08-12 02:45:06 -07:00
Pragaspathi Thilagaraj
7a7163bac7 qcacld-3.0: Add support for wpa3 roaming authentication offload
Firmware offloads WPA3 SAE authentication to host due to the
crypto library availability limitation. Once the roam candidate
selection is done in the firmware, firmware sends the
WMI_ROAM_PREAUTH_START_EVENTID. Once this event is received, the
host driver triggers the SAE.

Add support to offload the SAE authentication from firmware to
wpa_supplicant.

Change-Id: Ie3a9e731194e1edfcd9f33ef0d601767b9485d46
CRs-Fixed: 2490201
2019-08-12 02:45:06 -07:00
nshrivas
3088d73c29 Release 5.2.0.143M
Release 5.2.0.143M

Change-Id: I05cb49eed8041cd00595fb17d581e4ae921bdbea
CRs-Fixed: 774533
2019-08-12 01:27:37 -07:00
Jianmin Zhu
821e6d4401 qcacld-3.0: Refactor STA join process
Create bss peer in lim_process_mlm_post_join_suspend_link
when sta connect, don't need pose message to wma queue.

Change-Id: I23325c9d41b68f67ea9903008521f026e46395c4
CRs-Fixed: 2505558
2019-08-12 01:27:36 -07:00
Nirav Shah
718d14b1ee qcacld-3.0: Add support for addba/delba HTT message
In case of high latency data path, addba/delba messages
needs to be handled to support partial reorder.
This reverts commit b8919e14c5
and fix below security isses in ol_tx_addba_handler.
1. handle memory allocation failure scenario.
2. Free array memory before assign new memory to avoid
   memory leak.

Change-Id: I4f577c9e8bcb40f70ffb1b305659a059eac68d8d
CRs-Fixed: 2488966
2019-08-12 01:27:32 -07:00
nshrivas
87cca1586c Release 5.2.0.143L
Release 5.2.0.143L

Change-Id: I3f2e1fecdfe94ab95c76182cbe100a1b28fffe60
CRs-Fixed: 774533
2019-08-11 02:11:32 -07:00
Alan Chen
32c6048ab6 qcacld-3.0: Abort system suspend when idle restart occurs
Wifi turn-on will timeout and fail if system suspend occurs during idle
restart. To solve this, abort system suspend during idle restart.

Change-Id: I0a4a1fc9525b5fb19f51a289ca0b8a76c73038e6
CRs-Fixed: 2506716
2019-08-11 02:11:31 -07:00
nshrivas
52f9e020c5 Release 5.2.0.143K
Release 5.2.0.143K

Change-Id: I42a0015ea1b91e1c2e91f168044acd475c52c73e
CRs-Fixed: 774533
2019-08-10 10:21:38 -07:00
Pragaspathi Thilagaraj
d81b7d49ff qcacld-3.0: Update pmkid_modes based on "pmkidModes" ini
Currently the host driver updates the okc, pmksa flags
only after the set key management command is received from the
wpa supplicant. This is not needed as set_pmksa command is
received for 802.1x/SAE/OWE and key management needs to be
offloaded to firmware always for it to be able to include PMKID
in reassoc request/responses.

Receive the pmkid_modes from ini config parsed to mlme and
update in 11i tlv param of ROAM_SCAN_MODE command.

Change-Id: If169b402731e3713479e90b627060df470e5dab2
CRs-Fixed: 2506580
2019-08-10 10:21:37 -07:00
nshrivas
e255397d97 Release 5.2.0.143J
Release 5.2.0.143J

Change-Id: I5a4a847b44ea050efdf6ac053485b3aa0fcb09db
CRs-Fixed: 774533
2019-08-10 08:15:09 -07:00
Pragaspathi Thilagaraj
21b88d2d5b qcacld-3.0: Handle SAE preauth management frame with no session
The host driver drops any authentication frames that doesn't
belong to current pe session. But, for WPA3 SAE roaming
pre-authentication is offloaded to user space, and as part of
that, the host driver should handle the SAE commit/confirm
messages received from the target AP for which there is no
pe_session.

Add changes to check the auth algorithm in the authentication
frames received for which no pe_session exist and if auth algo is
SAE, indicate that frame to wpa_supplicant.

Change-Id: Ie911524475423704246c1b4f694b83abdbf5129a
CRs-Fixed: 2505556
2019-08-10 08:15:08 -07:00
nshrivas
621bf6eb05 Release 5.2.0.143I
Release 5.2.0.143I

Change-Id: Ib84e63de04f4a2ed1386e0d93006359011fa4fc6
CRs-Fixed: 774533
2019-08-10 04:05:02 -07:00
Yuanyuan Liu
10a7666ed3 qcacld-3.0: Don't call pld_collect_rddm in trigger recovery handler
RDDM can be collected during kernel panic and pld_collect_rddm is
a blocking call that will cause WLAN watchdog if the caller is from
scheduler thread. Hence revert this change and collecting FW dump
inside kernel panic handler.

CRs-Fixed: 2506844
Change-Id: I8667896e61b856fc2e03e1c8278a6451b6a04c24
2019-08-10 04:05:01 -07:00
nshrivas
a5ab5f40dd Release 5.2.0.143H
Release 5.2.0.143H

Change-Id: Ia4904969ceef36ee1327d0eaa1ca58a7134eba85
CRs-Fixed: 774533
2019-08-09 22:25:59 -07:00
Sourav Mohapatra
dcd8f8d1f8 qcacld-3.0: Remove usage of sta_id in TSM stats path
Currently driver passes sta_id through out the call for getting the TSM
stats. Although passed, the sta_id is not used anywhere in the call
stack. As part of removing the sta_id usage, this sta_id can also be
removed safely.

Remove the usage of sta_id in get TSM stats path.

Change-Id: I1efbb1bfdc8df84e9b6a71dcd5bd39ea93ced21a
CRs-Fixed: 2484701
2019-08-09 22:25:58 -07:00
nshrivas
c6492882c2 Release 5.2.0.143G
Release 5.2.0.143G

Change-Id: I1951ddf0606be9923e7ffa5fd66f6e7f7ccf1a2a
CRs-Fixed: 774533
2019-08-09 18:20:14 -07:00
Kiran Kumar Lokere
4bb5c6e8bd qcacld-3.0: Update the max AMSDU limit to 15
Increase the max number of MSDU in AMSDU limit to 15 and set the
default value to 0 to config the FW in auto mode selection in which
FW picks the maximum number of MSDUs in AMSDU based on connection mode.

Change-Id: I6c1f1292a31fc9ea857e60e7a81d10b6def5cbc1
CRs-Fixed: 2502544
2019-08-09 18:20:12 -07:00
nshrivas
2552510775 Release 5.2.0.143F
Release 5.2.0.143F

Change-Id: Ic6293750cba6cbf97f73b1cb1626eb12312a62d0
CRs-Fixed: 774533
2019-08-09 16:32:58 -07:00
Yue Ma
ce4879b6e3 qcacld-3.0: Config WOW_NLO_SCAN_COMPLETE_EVENT by default
WOW_NLO_SCAN_COMPLETE_EVENT should be always a wakeable event so
there is no need config it again during runtime PM suspend. Same
for WOW_NLO_DETECTED_EVENT which is already configed by default.
Hence it is safe to skip config dynamic wake events for runtime
PM.

Change-Id: Ie99f9f3dbd5e696601c79b826dbc949c0b439dc1
CRs-fixed: 2502738
2019-08-09 16:32:58 -07:00
nshrivas
f8114bba2a Release 5.2.0.143E
Release 5.2.0.143E

Change-Id: I56753a12af8fc4fbdffb2e004e678b88106a7a94
CRs-Fixed: 774533
2019-08-09 13:04:34 -07:00
Alan Chen
68552e39e2 qcacld-3.0: Change the max wow config in FW to 5
FW offload has no wow-wakeup-filter for GC vdev because the number of
filters is limited to two but Host tries to add filter from VDEV-0 to
VDEV-2. To address this, change the max wow config in FW to five.

Change-Id: Ie44403ef127cf0160f39aa001deddee2205b4696
CRs-Fixed: 2505367
2019-08-09 12:37:41 -07:00