Commit Graph

14888 Commits

Author SHA1 Message Date
Mohit Khanna
ba8b3fe3a8 qcacld-3.0: Use different wait queues for threads
Currently DP RX threads are using the same wait_q for all operations.
The problem with this is that when there is traffic for only one
threads, we end up waking up other threads as well moementarily.
This wastes power and is in-efficient.

Use different wait queues for different threads.

CRs-Fixed: 2495719
Change-Id: I689659b7aa0ab93b7e2f009d2dc7fe741b66ee78
2019-08-13 20:25:57 -07:00
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
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
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
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
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
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
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
nshrivas
f3b8c89041 Release 5.2.0.143D
Release 5.2.0.143D

Change-Id: I404884fb54b9f515c94bc41f13d1ba37f8f394c5
CRs-Fixed: 774533
2019-08-09 08:57:36 -07:00
nshrivas
07c09fb14c Release 5.2.0.143C
Release 5.2.0.143C

Change-Id: I4218b7f882931d67269874ed49c478607922f840
CRs-Fixed: 774533
2019-08-09 07:37:41 -07:00
Sourav Mohapatra
3646a8572c qcacld-3.0: HDD clean up for CDP API cdp_register_peer
Currently, the cdp API cdp_register_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: I0e92258777aff02940dd619c4d2ad784aa3e7f31
CRs-Fixed: 2502996
2019-08-09 07:37:40 -07:00
Rakshith Suresh Patkar
55e08c0916 qcacld-3.0: Cleanup ol_txrx_register_peer[PEER_ID_PHASE1]
Cleanup ol_txrx_register_peer to be peer mac address based
from local peer id based.

Change-Id: I59fd19c0185d8fe89563ac78bc9e8a8117c12ed1
CRs-Fixed: 2503182
2019-08-09 07:37:35 -07:00
bings
58247e90b1 qcacld-3.0: Use dma_iommu_mapping only ENABLE_SMMU_S1_TRANSLATION defined
In standard linux kernel, struct dma_iommu_mapping is not defined for
arm64, while in qualcomm linux kernel, struct dma_iommu_mapping is
defined for arm and arm64.

To fix build error in standard linux kernel, use struct dma_iommu_mapping
only when ENABLE_SMMU_S1_TRANSLATION is defined.

Change-Id: Ib02073163f2a38c47f864c6592fe2470046868ce
CRs-Fixed: 2496733
2019-08-09 07:37:31 -07:00
Sourav Mohapatra
570a46c710 qcacld-3.0: HDD cleanup for IPA API ucfg_ipa_wlan_evt
Currently, the IPA AIP ucfg_ipa_wlan_evt  takes as input the sta_id. As a
part of cleaning up the usage of sta_id, remove the parameter. Since
mac_addr is already present in the list of parameters, no need to add.

Change-Id: Iacc4a05de88973014eb4bcc1dfc97b7dc4a0d4fa
CRs-Fixed: 2503944
2019-08-09 07:37:26 -07:00
nshrivas
a4c39554e5 Release 5.2.0.143B
Release 5.2.0.143B

Change-Id: I0301fc70f9d3d7af1df07a533d2f283e5387dd98
CRs-Fixed: 774533
2019-08-09 02:50:12 -07:00
Sourav Mohapatra
05a52ed111 qcacld-3.0: Remove usage of sta_id in get SNR path
Currently driver passes sta_id through out the call for getting the SNR
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 SNR stats path.

Change-Id: I39482d8f6d8e3bd32e940a85d5592dada8f0460b
CRs-Fixed: 2503956
2019-08-09 02:50:11 -07:00
Sourav Mohapatra
24f0ae41f6 qcacld-3.0: Remove unused function hdd_get_peer_idx
Currently the function hdd_get_peer_idx is not being called from
anywhere. As the use of sta_id is being depreceted, the function can be
safely removed.

Clean up the unused function.

Change-Id: I6896d03ad2e8b427147e2259b737836cd3f44ca0
CRs-Fixed: 2484699
2019-08-09 02:50:07 -07:00
nshrivas
8dee2177b9 Release 5.2.0.143A
Release 5.2.0.143A

Change-Id: Ib9db3a1c6259d577ad05d260ca62b5296857048b
CRs-Fixed: 774533
2019-08-08 22:36:23 -07:00
nshrivas
f2a4c8c0c5 Release 5.2.0.143
Release 5.2.0.143

Change-Id: I2122466a7886a73f704b49230ababb28566afc64
CRs-Fixed: 774533
2019-08-08 21:04:28 -07:00
Lin Bai
56386f5a84 qcacld-3.0: Fix memory domain mismatch in skip_acs_timer
When FEATURE_WLAN_AP_AP_ACS_OPTIMIZE enabled, it will allocate
memory in INIT domain (wlan_hdd_startup), and free in ACTIVE
domain (hdd_wlan_exit).

Move to wlan_hdd_start_modules/wlan_hdd_stop_modules to avoid.

Change-Id: I0fd93baa306a136af2faa7af9dcccfb709984ef9
CRs-Fixed: 2505462
2019-08-08 21:04:27 -07:00
nshrivas
26c91a70e7 Release 5.2.0.142Z
Release 5.2.0.142Z

Change-Id: I2a0f17d5afb7787bad4d3c271d4679346acd1765
CRs-Fixed: 774533
2019-08-08 14:22:34 -07:00
Rajeev Kumar Sirasanagandla
7dee7fe7e0 qcacld-3.0: Avoid NULL pointer exception in HDD
If firmware doesn't support 5GHz band then ieee80211_supported_band
structure for HDD_NL80211_BAND_5GHZ is not allocated in wiphy and in
wlan_hdd_update_ht_cap() trying to derefer member-fields of
ieee80211_supported_band[HDD_NL80211_BAND_5GHZ] without NULL check is
causing NULL pointer exception.

To address this, add NULL check for 2GHz and 5GHz band pointers.

Change-Id: I8aa93b9cbe26ce674563505e222f5cb2aa970051
CRs-Fixed: 2503133
2019-08-08 14:22:33 -07:00
nshrivas
e67f4e465b Release 5.2.0.142Y
Release 5.2.0.142Y

Change-Id: I68c2be07759e2fedd67e990711b7ec1f384f35ea
CRs-Fixed: 774533
2019-08-08 11:37:52 -07:00
Jayachandran Sreekumaran
32a0d43f05 qcacld-3.0: Add sdio support for pld_wlan_enable
Add sdio support for pld_wlan_enable to put
the FW in the required mode.

Change-Id: I4ff3648a70b6c9cd4be389562851444258b347e6
CRs-Fixed: 2504554
2019-08-08 11:37:51 -07:00
Jinwei Chen
763f9d726f qcacld-3.0: Disable wlan suspend for monitor mode
Wlan suspend and WOW is not supported in monitor mode, disable them.

Change-Id: I5654cb837d01f78d08ae006040cc4f16cd6b3a36
CRs-Fixed: 2500835
2019-08-08 11:37:47 -07:00
nshrivas
703c4866a0 Release 5.2.0.142X
Release 5.2.0.142X

Change-Id: I23e7cead0ddcf362ebcf1638f9ed1d639453ce98
CRs-Fixed: 774533
2019-08-08 09:52:45 -07:00
hqu
030099b43f qcacld-3.0: Remove operationChannel from csr_roam_profile
Remove operationChannel from structure csr_roam_profile, remove
the code where value assigning to operationChannel take place.

Change-Id: If7cd64d4d7513000181f92faabd6c863341c71f9
CRs-Fixed: 2503043
2019-08-08 09:52:44 -07:00
wadesong
c48ea29e3d qcacld-3.0: Remove channel from struct hdd_mon_set_ch_info
1) Remove channel from struct hdd_mon_set_ch_info. All client
   code will use freq within the same struct from now on.

2) Replace the usage of channel ID(op_chan) with channel
   frequency(op_freq) in function hdd_mon_select_cbmode's
   parameter list.

3) Fix a number of camel cases detected in function
   hdd_select_cbmode.

Change-Id: Ib7c1ee453b34647e983749a713b33017b92103ac
CRs-Fixed: 2504779
2019-08-08 09:52:40 -07:00
nshrivas
e71e2d1381 Release 5.2.0.142W
Release 5.2.0.142W

Change-Id: I4b8b8950c958a19e2572ca7be00044d94e08bd87
CRs-Fixed: 774533
2019-08-08 08:40:19 -07:00
Liangwei Dong
e9793891b9 qcacld-3.0: Remove ChannelList from tCsrChannelInfo
Remove all the code reference of ChannelList.
Use freq_list in new code.

Change-Id: I1972f58f07b451dd52ead5dfcabce258f130f1ca
CRs-Fixed: 2503099
2019-08-08 08:40:07 -07:00
Liangwei Dong
a0bb630b78 qcacld-3.0: Replace ChannelList with freq_list
Replace tCsrChannelInfo->ChannelList by freq_list in:
sme_rrm.c

Change-Id: Ia90947e78b73de7ef87516ca00882bb8451d8afc
CRs-Fixed: 2503103
2019-08-08 08:38:58 -07:00
nshrivas
9dd14d684d Release 5.2.0.142V
Release 5.2.0.142V

Change-Id: I300ac5574502fd05e4557e937168d0fa8db03c7b
CRs-Fixed: 774533
2019-08-07 20:21:25 -07:00
nshrivas
37b7443896 Release 5.2.0.142U
Release 5.2.0.142U

Change-Id: I6ca268b2acf0d706bb95c89af7114a7429024d7b
CRs-Fixed: 774533
2019-08-07 14:30:23 -07:00
Jingxiang Ge
ace2c3c6a4 qcacld-3.0: Move vdev to DFS CAC state if channel is dfs
After got restart channel rsp from fw, vdev state will change
as: ST-RESTART_PROG->ST-CONN_PROG.

In lim_send_sme_ap_channel_switch_resp, if channel is non-dfs,
vdev state will change to up; if dfs channel, later it will
change to DFS CAC when starting cac timer.

Current issue is if there is ap stop after restart channel rsp,
while processing WLAN_VDEV_SM_EV_DOWN, there is no hanler in
ST-CONN_PROG > ST-DISCONN_PROG.

From design perspective, In SAP, ST_CONN_PROG is a dummy state,
ideally, SAP state should change as below without preemption :
	RESTART_PROGRESS->CONN_PROGRESS->UP
	RESTART_PROGRESS->CONN_PROGRESS->DFS_CAC_WAIT

To fix issue, change vdev state to DFS_CAC_WAIT in
lim_send_sme_ap_channel_switch_resp; So WLAN_VDEV_SM_EV_DOWN will
be handled in DFS_CAC_WAIT state.

At the same time, set DFS_CAC_WAIT when starting SAP, and clear
sap_move_to_cac_wait_state in sap state machine.

Change-Id: Iee89521471e456a553f40577da6d1e69aef3b803
CRs-Fixed: 2501339
2019-08-07 14:30:22 -07:00
nshrivas
b704fddad6 Release 5.2.0.142T
Release 5.2.0.142T

Change-Id: I2284eb7069f3d16ae0bb0c89db94142f421fa9a5
CRs-Fixed: 774533
2019-08-07 10:20:48 -07:00
gaurank kathpalia
224c81efd6 qcacld-3.0: Select default channel of SAP in case of failure
Currently the driver choses a default channel for SAP
in case of failures, logic of which is incorrect as
it does not take into account the hw mode, and all
other checks such as SRD, unsafe, DFS etc.
The channel chosen after this maybe not as per
expectation.

Fix is to chose a default channel from the acs channel
list itslef so that the checks of SRD etc. ae honored.

Change-Id: Ife8a6b88938fd566bed92a5bde1cb0fe34a45462
CRs-Fixed: 2476351
2019-08-07 10:20:47 -07:00
nshrivas
e963b9c82b Release 5.2.0.142S
Release 5.2.0.142S

Change-Id: I312987ed009e3cf16b42bda587bb6e886b8024a2
CRs-Fixed: 774533
2019-08-07 08:41:22 -07:00
gaurank kathpalia
2fcec840ce qcacld-3.0: Take a wakelock till CSA complete
Currently the driver sends the CSA IEs in the
beacon every beacon interval, and updates the
CSA IE count in every beacon.

If the wlan gets suspended in between the
updation of CSA IEs, the CSA is delayed
till the next resume, which could lead to
STA kickout event, if there is delay between
the CSA period, and the channel switch time.

Fix is to take a wakelock till CSA is completed
in order to avoid the STA kickout.

Change-Id: Iff03476433c755cbddc7568ffbd24ddb81fd1c90
CRs-Fixed: 2504039
2019-08-07 08:41:21 -07:00
gaurank kathpalia
7665a50dab qcacld-3.0: Extend force 1x1 ini
Currently the driver checks whether the device
supports antenna sharing, and if the AP is added
in the OUI framework, then the driver modifies the
nss value to 1 to avoid sending SMPS to the peer AP.
Now suppose the device does not support Antenna sharing,
but supports DBS and is helium HW, then going to DBS HW
mode would result in peer sending a SMPS frame to the peer
as the helium HW only has two antennas, and one is needed
by each MAC now.

Fix is to add a third param in force 1x1 ini which would
decide the driver should consider the antenna sharing as
mandatory or not.

Change-Id: I3ae00fcbd642c7780952d66ccbf1208335fcb077
CRs-Fixed: 2496831
2019-08-07 08:41:16 -07:00
Bala Venkatesh
58c241c551 qcacld-3.0: Release TDLS del sta serialization command
After sending the wmi_peer_delete command to FW. If there
is a change in channel info of HT cap from connected AP.
Then TDLS peers in lim will be deleted and dph entry will be
freed.
While processing the tdls del sta response from FW
if dph entry is NULL then WLAN_SER_CMD_TDLS_DEL_PEER is
not released and that can lead to active command timeout.

Release the serialization command in case of NULL dph entry.

Change-Id: Ib56806875cc84a0ecb9bcab16e9e0bb9d118efbb
CRs-Fixed: 2503993
2019-08-07 08:41:11 -07:00
nshrivas
6ef2c8e497 Release 5.2.0.142R
Release 5.2.0.142R

Change-Id: Icc6c92da7c4bc10976d62d98131e60c5fefefe9a
CRs-Fixed: 774533
2019-08-07 04:57:49 -07:00
Bala Venkatesh
07546fb480 qcacld-3.0: Check TDLS offchannel is supported or not
Check if the configured tdls offchannel through IOCTL
is supported or not. This is required if firmware
does not support 5G channels or any invalid channels

Change-Id: I49e3b7b758fddf22fbfe1b64dda2e4f47a27cf3b
CRs-Fixed: 2503913
2019-08-07 04:57:48 -07:00
nshrivas
289bcc4f26 Release 5.2.0.142Q
Release 5.2.0.142Q

Change-Id: I905cb485731d40781728a530aa9e1bfdca5ebdf6
CRs-Fixed: 774533
2019-08-07 01:31:08 -07:00
nshrivas
0c0c7a16d1 Release 5.2.0.142P
Release 5.2.0.142P

Change-Id: I74d0fc946ac47072edc2cfd8696538e7fd4a9e43
CRs-Fixed: 774533
2019-08-06 14:24:31 -07:00
Yeshwanth Sriram Guntuka
e631341f12 qcacld-3.0: Update kck len when caching gtk offload req
On wlan suspend, kck sent as part of gtk offload request
is not populated properly since the kck_len is not
updated when caching the gtk request resulting in all
zeroes kck.

Fix is to update kck_len when saving gtk offload
request.

Change-Id: I9e4430565a04cff6da7f06d23a9542a2f53568b0
CRs-Fixed: 2502131
2019-08-06 14:24:30 -07:00
nshrivas
9358c67a57 Release 5.2.0.142O
Release 5.2.0.142O

Change-Id: I67b8373c911907c69ce3f49448534ea0806cf360
CRs-Fixed: 774533
2019-08-06 10:16:26 -07:00
gaurank kathpalia
c3587d0340 qcacld-3.0: Filter the blacklist BSSID in scan for ssid
Currently the driver sends a unicast probe request
to the BSSID which is blacklisted, which in turns
violate the SPEC, as the BSSID maybe rejected as
part of OCE assoc reject.

Fix is to check if the BSSID is blacklisted, don't
go for unicast probes.

Change-Id: I14f283d7425d40706cef29db38b48333ee9a7fff
CRs-Fixed: 2500273
2019-08-06 10:16:26 -07:00
gaurank kathpalia
b2f7206d97 qcacld-3.0: Avoid scan if no channel found in ACS
If no channel is found suitable for ACS, don't scan
all the channels as done currently by the driver, and
send ACS fail code to the userspace as SAP cannot be
started on the band specified by the use.

Change-Id: I18edff6aaf384384841487d06474fd5fba28fc2f
CRs-Fixed: 2476347
2019-08-06 10:16:22 -07:00
Sravan Kumar Kairam
777a7dde6e qcacld-3.0: Start bus bw computer timer for NAN
Currently for NDI interface bus bandwidth timer is not
started. As part of this change start the timer when new
ndp peer is created and stop the timer when last ndp peer
connected is deleted.

Change-Id: Ia710ec9872636ee3cefa30815692c2f8c9816687
CRs-Fixed: 2499548
2019-08-06 10:16:14 -07:00
nshrivas
13e6c51fbc Release 5.2.0.142N
Release 5.2.0.142N

Change-Id: I9f8df2987cc104a6ff82e3d55da5ac9f9c8de501
CRs-Fixed: 774533
2019-08-06 05:26:20 -07:00
Subrat Dash
ab9a7593af qcacld-3.0: Fix compilation issue with FW_THERMAL_THROTTLE_SUPPORT enabled
Fix the compilation issues passing proper parameter to the function
wmi_unified_thermal_mitigation_param_cmd_send.

CRs-Fixed: 2501080
Change-Id: I9ce0038ef2844536612f0bf71314dbc214f354d9
2019-08-06 05:26:20 -07:00
nshrivas
ea05bae341 Release 5.2.0.142M
Release 5.2.0.142M

Change-Id: Ife494266790ae10e1d80797a7719f1418fd52452
CRs-Fixed: 774533
2019-08-06 04:08:46 -07:00
nshrivas
f1de82f3b8 Release 5.2.0.142L
Release 5.2.0.142L

Change-Id: Ic015dd251df09cec2ae9bfd7d1154bfae172e183
CRs-Fixed: 774533
2019-08-06 02:48:46 -07:00
Liangwei Dong
4d8c7629b2 qcacld-3.0: Replace ChannelList with freq_list
Replace tCsrChannelInfo->ChannelList by freq_list in:
sap_module.c sme_api.c csr_api_roam.c csr_api_scan.c
csr_neighbor_roam.c

Change-Id: I6c8d2991242f2215fc7cc58220445025bd32fcdb
CRs-Fixed: 2501872
2019-08-06 02:48:45 -07:00
Bala Venkatesh
5d0fe41a93 qcacld-3.0: Do not allow get_tx_power for all interfaces
Currently, get_tx_power is given for all interfaces but FW may
not respond for interfaces like p2p device mode or NAN.
Allow cfg80211_get_tx_power only for STA/P2P_client associated
state and SAP/GO started cases. In rest all cases do not give
this command to FW.

Change-Id: I01ff4f11c35ca00183002d2d1c2c481f3bea77c6
CRs-Fixed: 2502905
2019-08-06 02:48:41 -07:00
nshrivas
596909df06 Release 5.2.0.142K
Release 5.2.0.142K

Change-Id: Iee68bb0939dbcc9b66e8a545bfd6386e6f7dfecb
CRs-Fixed: 774533
2019-08-06 01:25:40 -07:00
nshrivas
74e6092646 Release 5.2.0.142J
Release 5.2.0.142J

Change-Id: I469343209a5b28ae257f495919cc9820d06d7105
CRs-Fixed: 774533
2019-08-05 16:45:49 -07:00
Abhishek Ambure
cbef14404b qcacld-3.0: Refactor vdev delete code
Refactor vdev delete code for target_if conversion. Remove legacy
vdev delete code.

Change-Id: Ia95faa3a8eb561e19d439046a25bd7e452b98fb2
CRs-Fixed: 2471947
2019-08-05 16:45:48 -07:00
nshrivas
8e062805f3 Release 5.2.0.142I
Release 5.2.0.142I

Change-Id: I593d2a462c97f4e82245fa824b6f25551be0ea63
CRs-Fixed: 774533
2019-08-05 15:31:58 -07:00
Yue Ma
1c1d0f75d6 qcacld-3.0: Do sync runtime resume/suspend for get station stats API
Get station stats API will be periodically called from upper layer so
in order to save power, instead of waiting for inactive timer to fire,
suspend right after everything is done.

Change-Id: I452ac3631d6799ffdcb1d09ff71afb2730b92b59
CRs-fixed: 2502391
2019-08-05 15:31:57 -07:00
nshrivas
8b949209f8 Release 5.2.0.142H
Release 5.2.0.142H

Change-Id: Ifaedd3fe68a93f6d2dd172fc13f24fd24d02c7d2
CRs-Fixed: 774533
2019-08-05 10:55:41 -07:00
gaurank kathpalia
cdc3b574d1 qcacld-3.0: Modify NUD tracking ini for disconnect/roam
Modify the nud tracking ini so that the driver
does a disconnection/roaming after NUD failure
is detected.
According to the ini specified, the driver would
either disconnect or do roaming.

Change-Id: I6af1c819322a702605d92ada735298a124127533
CRs-Fixed: 2497153
2019-08-05 10:55:40 -07:00
tinlin
7db7a5d167 qcacld-3.0: Set peer phymode not higher than sap's
Associating peer's phymode is not allowed to be highter
then sap's. If it is, set the peer phymode equal to sap
phymode.

Change-Id: Ia8152ce27fb8ddf2bbff5139d3b8d89c811d7ed0
CRs-Fixed: 2500383
2019-08-05 10:55:36 -07:00
wadesong
21d7effc7f qcacld-3.0: Populate frequency list
Do more frequency list population in a number of functions
to make sure the resulting tCsrChannelInfo structures
have the right channel frequency info.

Meanwhile, enlarge the buffer allocated for freq_list in
csr_roam_copy_profile to make sure all channel frequencies
can be replicated.

Change-Id: Ia8b90581211d657851e1d8fc2556dcb633c8001a
CRs-Fixed: 2500236
2019-08-05 10:55:32 -07:00