Commit Graph

17318 Commits

Author SHA1 Message Date
nshrivas
74b120408f Release 5.2.0.153K
Release 5.2.0.153K

Change-Id: Ie1139402d78d1e78a00e73426cb307337bddd3d1
CRs-Fixed: 774533
2019-10-22 01:50:47 -07:00
Kiran Kumar Lokere
81c1aa55a1 qcacld-3.0: Fix SAP Nss 1x1 issue in 160MHz mode
Remove the check that limits the SAP Nss to 1x1 mode when SAP
is brought up with 160MHz bandwidth.

Change-Id: I1f2416b8c0c9500ed9d553ba1fed2f45ff2e9f13
CRs-Fixed: 2549916
2019-10-22 01:50:47 -07:00
guangde
7bd92e6075 qcacld-3.0: modify the assignment method of tstamp
Based on the current, Host driver assign a int value to tstamp directly.
But it is not compatible with previous kernel version.
Use function "ktime_set" to assign the value.

Change-Id: Id5fb5001e22aea8503c2dafbfef3fc8d27de1166
CRs-Fixed: 2549495
2019-10-22 01:50:39 -07:00
gaurank kathpalia
7aed85ed22 qcacld-3.0: Wait for ACS rather than iface change fail
Currently the driver checks for the ACS in progress
in change iface and returns fail if the ACS is in
progress. The return status is not checked by the
kernel and it assumes that the interface change is
successfull, which may lead to out of sync between
driver and kernel.

Fix is to wait for ACS completion if the iface change
or interface down is triggered in between ACS.

Change-Id: Iaabd42fc959a533041b18b181e1b63493f17e0a5
CRs-Fixed: 2541325
2019-10-22 01:50:27 -07:00
Yeshwanth Sriram Guntuka
c5ca3ea9bb qcacld-3.0: Increase the CE history max records size
Increase CE history max records size to 8k to capture
more events in case of CE full ring condition.

Change-Id: Ia2a3ea61dc99dd21d06b442ef00cd25550f4cb5a
CRs-Fixed: 2549528
2019-10-22 01:50:14 -07:00
nshrivas
0670e4ec1d Release 5.2.0.153J
Release 5.2.0.153J

Change-Id: I1204c80307e664a4e69de2a6529870492090f73f
CRs-Fixed: 774533
2019-10-21 21:31:02 -07:00
Pragaspathi Thilagaraj
bdf29e0465 qcacld-3.0: Update authentication algo in SAE auth retry frame
In SAE pmksa caching case, the authentication algorithm will be
open and pmkid will be included in association request frame.
Full SAE authentication with auth algo 3 will not happen.
If in SAE pmksa caching case, the auth frame is not acknowledged
then auth retry happens and while filling the authentication
algorithm in the auth retry frame, the driver doesn't check if
sae pmk caching is used. So if auth retry happens due to auth
failure, the driver sends authentication frame with auth algo as
SAE. So the AP tries to validate the auth frame for SAE cyclic
group and sends auth reject with status code 77 - the offered
finite cyclic group is not supported.

Fill the authentication algorithm as open for auth retry frame
in sae pmk cached case.

Change-Id: I6b579b8254623d1d267670862d2060fabc85edeb
CRs-Fixed: 2545547
2019-10-21 21:31:01 -07:00
nshrivas
fb945ae3b7 Release 5.2.0.153I
Release 5.2.0.153I

Change-Id: I60f502ff1766ca0b56c79e87806c258cc04aaf93
CRs-Fixed: 774533
2019-10-21 03:46:20 -07:00
Pragaspathi Thilagaraj
e20af679d1 qcacld-3.0: Delete PMKID when assoc rejected with reason code 53
Userspace gives a connect request to the driver with bssid/bssid
hint and if association reject is received from AP with reason
invalid PMKID(53), then it means the previous PMKID cached is
not valid and the STA has to do full SAE authentication to
derive new PMK. When assoc reject is received from AP, and
if no other candidate is found for connection, the driver sends
nl80211 connection failed notification and the supplicant issues
delete pmksa for that failed bssid, thereby preventing from
trying to the same AP again with same stale pmkid. But after
receiving assoc rejection, if other candidate is found, the
driver tries to connect to the other BSS and if association
fails with that too, the driver will send connect failed
notification for the latest BSSID to which connection failed. So
the PMKID for AP1, for which assoc reject was received due to
invalid pmkid, is not deleted and when connect request for that
AP is received again, the driver will try to do open auth with
the stale PMKID.

So delete the PMKID of SAE bssid when association rejection is
received from the AP due to invalid PMKID.

Change-Id: I2c7064b5cd333ccd166890bc4a6f7c8b8b9d503b
CRs-Fixed: 2542232
2019-10-21 03:46:20 -07:00
nshrivas
9ecd7d1389 Release 5.2.0.153H
Release 5.2.0.153H

Change-Id: Ifd3479c77f40f826bcc8b0d586d21f7134431893
CRs-Fixed: 774533
2019-10-19 22:11:37 -07:00
Manikandan Mohan
01d71c3f79 qcacld-3.0: Use regulatory module API to get valid channel list
Update policy manager to use regulatory module API to get valid
channel list instead of MLME config item.

Change-Id: I2fa24c73892746de68ece00e50fd55d6135b7753
CRs-fixed: 2545120
2019-10-19 22:11:36 -07:00
Manikandan Mohan
932c11e3b3 qcacld-3.0: Policy manager update for channel to frequency usage
Update policy manager data structures and APIs to use frequency
instead of channels. This is done to address channel number
ambiguity with introduction of 6GHZ band. Fix all references of
channel and add temporary internal functions for frequency
usage as replacement for public APIs using channels. Also modify
the channel list handling to frequency list in associated modules.

Change-Id: I11dff14a5fbe6d49cf411f8fce6863994ffccd75
CRs-fixed: 2540000
2019-10-19 22:11:30 -07:00
Jianmin Zhu
b136060fc3 qcacld-3.0: Enable intra band for LFR3 roaming channel map
If intra band is enabled, just build roam channel map from valid
channel list, ignore all other ways:
	1. from the occupied channels list
	2. from ini
	3. channels in the neighbor list

then channel map will include full channels of that band except
dfs/unsafe channels, which make roam scan time much longer.

Fix:
Firt try to get channel cache from following way as config:
        1. from the occupied channels list
        2. from ini
        3. channels in the neighbor list
Then filter channels by intra band config.

If channel num is 0,  use full channel list from same band
except dfs/unsafe channels.

Refactor roam scan channel retrieve code, converge duplicate code
for DFS, unsafe, intra band check.

Change-Id: I69e28be76c05284d32e237b9af33d5c01b9bb742
CRs-Fixed: 2541937
2019-10-19 22:11:23 -07:00
nshrivas
91cbeb4920 Release 5.2.0.153G
Release 5.2.0.153G

Change-Id: I92a172b4166a899cb26070449f1ddf0374186ba9
CRs-Fixed: 774533
2019-10-19 19:25:32 -07:00
Tiger Yu
80fbbe1347 qcacld-3.0: Add synchronization between unloading & SSR recovering
There is no sync between driver unloading & SSR recovering.
If SSR is in progress, need to wait when driver unloading.

Change-Id: I81b935f9d8d6336b68abd6aecbdc7d28f4762be9
CRs-Fixed: 2534890
2019-10-19 19:25:31 -07:00
nshrivas
7fa5dd2709 Release 5.2.0.153F
Release 5.2.0.153F

Change-Id: I1e0fabfeace674120c9951cffe7acb87c3d43bd3
CRs-Fixed: 774533
2019-10-19 17:46:13 -07:00
Kiran Kumar Lokere
fae3181e4a qcacld-3.0: Do not check for center frequency seg2 in 160MHz
Do not check for center frequency segment 2 with 160MHz bandwidth
in set channel as hostapd does not set it for 160MHz mode.

Change-Id: I43a7a30b5f6e1c5916ddc2c72e18b82fc6814b06
CRs-Fixed: 2545967
2019-10-19 17:46:13 -07:00
Sravan Goud
0158814ea9 qcacld-3.0: Initialize uninitialized variable
Current code in __hdd_bus_bw_work_handler function there is a
possibility of variables sta_tx_bytes and sap_tx_bytes uninitialized.
Improve the code by initializing the variable.

Change-Id: I6e21350267e9ff7a5b3a5cb5b3f3166d26121c8a
CRs-Fixed: 2536318
2019-10-19 17:46:07 -07:00
Sravan Kumar Kairam
3bc886df40 qcacld-3.0: Support stats quota for sta + sap ipa offload
Implement metering stats quota to support ipa offload sta plus
sap wifi sharing use cases.

Change-Id: Ic9d5ad817ffb4d671a43f3f3aebb2d8cce293873
CRs-Fixed: 2517696
2019-10-19 17:46:02 -07:00
guangde
44f9ab7ee1 qcacld-3.0: use hwtstamp to pass HW timestamp info
Based on the current codes, Host driver use "tstamp" of skb buffer
structure to store HW timestamp info. But this parameter is designed
for SW timestamp. If host driver fill the value to "tstamp", it will
affect other functions, for example, NTP, PING etc.
The host driver use "hwtstamp" of skb buffer structure to store
the HW timestamp info now.

Change-Id: I8d92e0afe212bc4a5cdad1b30cd12f36ab9a0ebc
CRs-Fixed: 2547514
2019-10-19 17:45:51 -07:00
nshrivas
db34d865be Release 5.2.0.153E
Release 5.2.0.153E

Change-Id: Iad2d1f63906c91d1df51bdc964136cb9db4a9c03
CRs-Fixed: 774533
2019-10-19 09:37:02 -07:00
Kai Liu
cdc307f6a4 qcacld-3.0: change peer search to mac address based in monitor mode
Commit 9e02e1e104 ("qcacmn: Cleanup dp_register_peer [PEER_ID_PHASE1]")
of qca-wifi-host-cmn changes peer search from peer id based to mac address
based, this change makes corresponding fix for monitor mode, otherwise it
will fail to get wlan interface up, since can't find peer.

Change-Id: Ife031b9e9b856850e08ef8c195e1a99c6dee80c5
2019-10-19 09:37:01 -07:00
nshrivas
95782fbf69 Release 5.2.0.153D
Release 5.2.0.153D

Change-Id: I01a9f19c277defb7e91ee4d899f4e3bd906dcd36
CRs-Fixed: 774533
2019-10-19 06:48:58 -07:00
Sourav Mohapatra
4c9b82aaf6 qcacld-3.0: Fix compilation error in case NAN is disabled
Currently the function ucfg_nan_get_ndi_state is not defined for the
case WLAN_FEATURE_NAN is not defined. As this is a public function
defined in dispatcher/inc/ and can be used externally, there would be a
compilation failure on such cases.

Resolve the failure by declaring ucfg_nan_get_ndi_state as static in the
case WLAN_FEATURE_NAN is not enabled.

Change-Id: I30297e8a3781f9a529c40a1423a9d2613c286f4e
CRs-Fixed: 2548223
2019-10-19 06:48:58 -07:00
Abhinav Kumar
6421d36dd6 qcacld-3.0: Protect csr_scan_callback with sme lock
In csr_scan_callback sme lock is not taken and csr session
is accessed without taking the lock. This may lead to
race where a north bound thread and scheduler thread
might modify the same param at a time.

Thus if a new connect request is received at same time which
also lead to scan for ssid, scheduler and the NB thread
may try to free session->scan_info.profile at same time
leading to double free.

Fix is to protect csr_scan_callback with sme lock.

Change-Id: I44519f53f41b94a1ba6420efef2d35a98a7bcaf5
CRs-Fixed: 2547428
2019-10-19 06:48:50 -07:00
gaurank kathpalia
fa09a07ff5 qcacld-3.0: Change default value of force 1x1 as 1
Currently the value of force 1x1 exception is 2
which can lead to STA connection to a OUI AP in 1x1.

In a DBS configuration when AS is disabled, STA came
up in Single Mac mode in 2x2, and when a SAP came up
in DBS, then it sent out a SMPS to AP which lead to AP
crash. But very few APs have this behaviour, so it is
better to have a higher throughput than limit the
connection to 1x1.

Change-Id: I0ebd1ed2b764c3280151ca55117545349e474cbb
CRs-Fixed: 2538438
2019-10-19 06:48:45 -07:00
CNSS_WLAN Service
59d070c786 Merge "Release 5.2.0.153C" into wlan-cld3.driver.lnx.2.0 2019-10-18 09:09:16 -07:00
CNSS_WLAN Service
6e5096d456 Merge "qcacld-3.0: Handle mem leaks for sap ACS channel list" into wlan-cld3.driver.lnx.2.0 2019-10-18 09:09:15 -07:00
CNSS_WLAN Service
7ff488ca01 Merge "qcacld-3.0: Process rx_mgmt_pkt based on frequency" into wlan-cld3.driver.lnx.2.0 2019-10-18 09:09:14 -07:00
CNSS_WLAN Service
9f385bab4c Merge "qcacld-3.0: Clear registered peers in SAP mode after SSR" into wlan-cld3.driver.lnx.2.0 2019-10-18 09:09:13 -07:00
CNSS_WLAN Service
ffbf4dbe1c Merge "Release 5.2.0.153B" into wlan-cld3.driver.lnx.2.0 2019-10-18 09:09:12 -07:00
CNSS_WLAN Service
add7b92269 Merge "qcacld-3.0: WPA3 roam make preauth start command as wakable" into wlan-cld3.driver.lnx.2.0 2019-10-18 09:09:11 -07:00
CNSS_WLAN Service
3382d3346a Merge "qcacld-3.0: Add flow control to limit deauth per peer" into wlan-cld3.driver.lnx.2.0 2019-10-18 09:09:09 -07:00
CNSS_WLAN Service
18afc2c7e9 Merge "qcacld-3.0: Check concurrency before STA vdev start" into wlan-cld3.driver.lnx.2.0 2019-10-18 09:09:08 -07:00
CNSS_WLAN Service
8c2500de4d Merge "Revert "qcacld-3.0: Featurize partial reorder properly"" into wlan-cld3.driver.lnx.2.0 2019-10-18 09:09:07 -07:00
CNSS_WLAN Service
8dfc34f05f Merge "Release 5.2.0.153A" into wlan-cld3.driver.lnx.2.0 2019-10-18 05:15:45 -07:00
CNSS_WLAN Service
350eb0af15 Merge "qcacld-3.0: Add changes to support qca6490" into wlan-cld3.driver.lnx.2.0 2019-10-18 05:15:43 -07:00
CNSS_WLAN Service
7e82458ac2 Merge "Release 5.2.0.153" into wlan-cld3.driver.lnx.2.0 2019-10-18 05:15:42 -07:00
CNSS_WLAN Service
dfa45eb53d Merge "qcacld-3.0: Add proper rates for MCS9 in host table" into wlan-cld3.driver.lnx.2.0 2019-10-18 05:15:40 -07:00
CNSS_WLAN Service
b6f002c9a5 Merge "Release 5.2.0.152Z" into wlan-cld3.driver.lnx.2.0 2019-10-18 05:15:39 -07:00
CNSS_WLAN Service
e573ed9224 Merge "qcacld-3.0: Enable AMSDU in AMPDU support only in 11ax" into wlan-cld3.driver.lnx.2.0 2019-10-18 05:15:38 -07:00
CNSS_WLAN Service
f91529332f Merge "Release 5.2.0.152Y" into wlan-cld3.driver.lnx.2.0 2019-10-18 05:15:37 -07:00
CNSS_WLAN Service
804c8208dd Merge "qcacld-3.0: Prevent possible NULL pointer dereference" into wlan-cld3.driver.lnx.2.0 2019-10-18 05:15:36 -07:00
nshrivas
290a57b388 Release 5.2.0.153C
Release 5.2.0.153C

Change-Id: Id135ad86177a2dbb8f9d1b504a9a5461899d7214
CRs-Fixed: 774533
2019-10-18 02:55:24 -07:00
gaurank kathpalia
eeb2554905 qcacld-3.0: Handle mem leaks for sap ACS channel list
Handle error condition of vdev not found (Logical delete
state), and scan req memory not allocated to prevent mem
leak for SAP ACS channel list.

Change-Id: I0ab00c0119f80299cc8d93236839e42c647b939f
CRs-Fixed: 2547058
2019-10-18 02:55:24 -07:00
Ashish Kumar Dhanotiya
ca5d922263 qcacld-3.0: Process rx_mgmt_pkt based on frequency
As a part of 802.11ax amendment, 6GHz band operation is added.

Since the 6 GHz channel numbers are overlapping with existing 2.4GHz
and 5GHz channel numbers, use frequency to identify unique channel
operation instead of channel number. Channel frequency is unique across
bands.

As part of above requirement add logic to process rx mgmt
packets based on the frequencies instead of channel numbers.

Change-Id: Ib063070738ecdb4f83379eafe50629778a490aae
CRs-fixed: 2522693
2019-10-18 02:55:17 -07:00
Sourav Mohapatra
0203b6d254 qcacld-3.0: Clear registered peers in SAP mode after SSR
Currently, the SAP peers are not cleared after an SSR in shutdown path
inside hdd_reset_all_adapters. This can lead to mem leak in the case
the device undergoes SSR with connected SAP clients.

To prevent this memleak, rectify the existing check to include SAP
mode also while cleaning up the registered peers.

Change-Id: I8faf54d420cd9198e257a3d93bbf1b37da2f3eb8
CRs-Fixed: 2546805
2019-10-18 02:55:12 -07:00
nshrivas
21fc4a3536 Release 5.2.0.153B
Release 5.2.0.153B

Change-Id: Ib3751b491398c0b7b714383e4d49838984860b3b
CRs-Fixed: 774533
2019-10-17 22:47:03 -07:00
Pragaspathi Thilagaraj
0c4489f1ad qcacld-3.0: WPA3 roam make preauth start command as wakable
In WPA3 roam hybrid model, the SAE exchange/4-way handshake is
offloaded to the wpa_supplicant. After roam candidate selection,
firmware will send WMI_ROAM_PREAUTH_START_EVENTID to send SAE
authentication frame with the selected candidate. If the host
is in suspended state, then SAE preauthentication could fail.

So wakeup the host when WMI_ROAM_PREAUTH_START_EVENTID event is
received to carry out the SAE authentication with the provided
candidate

Change-Id: I7a89234e90e7fccef58ec3822dc0cda3740bad20
CRs-Fixed: 2512871
2019-10-17 22:47:02 -07:00
Amruta Kulkarni
f3773e9435 qcacld-3.0: Add flow control to limit deauth per peer
Invalid peer keeps sending rx ind which triggers sending of
deauth mgmt frame continiously.

Fix is to add flow control in wma_rx_invalid_peer_ind()
to limit per peer deauth mgmt frame to one.

Change-Id: Icfbcb9452ee9890a26945b3cdd0c0ab07649367a
CRs-Fixed: 2538222
2019-10-17 22:46:55 -07:00