Commit Graph

15490 Commits

Author SHA1 Message Date
Pragaspathi Thilagaraj
f812ccf55a qcacld-3.0: Rename assocReq
Linux coding style doesn't allow camel case notations. So
rename assocReq to be in compliance.

Change-Id: I82e608da9548ac9413f9ecb025e5b662c9f555be
CRs-Fixed: 2480902
2019-10-23 09:01:09 -07:00
nshrivas
837faee786 Release 5.2.0.153R
Release 5.2.0.153R

Change-Id: Ibd42f141ad923fb21e5977efd13952421c386dab
CRs-Fixed: 774533
2019-10-23 06:50:27 -07:00
Liangwei Dong
a383c99ef4 qcacld-3.0: Add regulatory channel list dump
Dump the regulatory channel list with tx power
info. The channel list log can be processed by
script to do validation.

Change-Id: I7b3badd026556c1d805e6f3770fae33838f6ee6e
CRs-Fixed: 2548231
2019-10-23 06:50:26 -07:00
nshrivas
e01dcd46bf Release 5.2.0.153Q
Release 5.2.0.153Q

Change-Id: I11d503079a83e786e7080a55b0e7678be55877f3
CRs-Fixed: 774533
2019-10-23 03:46:38 -07:00
Min Liu
602c1b19a6 qcacld-3.0: Fix race condition when disconnecting
When an attempt of connection failed and followed by a disconnection
initiated from user space, randomly it would take more than 10 seconds
to complete the disconnection due to disconnect_comp_var is not
completed in some race condition and it has to wait till timeout.

To fix this race condition, in hdd_association_completion_handler, also
need to complete disconnect_comp_var for the case when hddDisconInProgress
is true and roam_status is eCSR_ROAM_ASSOCIATION_FAILURE or
eCSR_ROAM_CANCELLED, it will also cover the following scenario besides
the one mentioned above:

Connection is in progress. But the connect command is in pending queue
and is removed from pending queue as part of csr_roam_disconnect.

Change-Id: Ib6a30057469d60efcc905d97b5234ea5a0e097a8
CRs-Fixed: 2547320
2019-10-23 03:46:38 -07:00
Arun Kumar Khandavalli
bcd5634dae qcacld-3.0: Send the vdev create to firmware in the caller thread
Presently upon interface up a message is posted to the scheduler
to create the vdev, which sends the vdev create to the firmware,
for the vdev create there is no response from the firmware host
internally posts a fake message internally for the vdev create
response.

Dont post the vdev create to the scheduler thread but directly
send the vdev create to the firmware in the caller context.

Change-Id: Iafb186b13d948e421d152c3142cb8614fdbbffa6
CRs-Fixed: 2549530
2019-10-23 03:46:29 -07:00
nshrivas
9e3e8386fb Release 5.2.0.153P
Release 5.2.0.153P

Change-Id: I9e709bf01d6af4c3f7e0a25af2cd040070a395d6
CRs-Fixed: 774533
2019-10-23 02:14:37 -07:00
Abhishek Singh
8d92ea7f97 qcacld-3.0: Cleanup chanmode from from struct wma_txrx_node
With des_chan->ch_phymode already having the chanmode value,
remove chanmode from from struct wma_txrx_node to use common
des_chan->ch_phymode

Change-Id: Ib34a032b541367305a9fdba998ed6a00073ac9aa
CRs-Fixed: 2550440
2019-10-23 02:14:33 -07:00
nshrivas
eac41f874a Release 5.2.0.153O
Release 5.2.0.153O

Change-Id: I4323a57873c5fa1c6c1842948de932f92b9c2bcd
CRs-Fixed: 774533
2019-10-22 23:03:37 -07:00
Sourav Mohapatra
4d1f4ccf88 qcacld-3.0: Populate and send correct max rate to the userspace
When the ini gReportMaxLinkSpeed is set, it indicates that the rates
provided to the userspace should give the maximum possible rate for the
given connected parameters. But currently in the driver, the max rate
that is being sent to the userspace is dependent on the NSS at which
the tx/rx is being done. The NSS is calculated by taking the union of
the value from assoc req and from the rate table using MCS index/rates
from firmware. The rates fluctuate as per the tx/rx by firmware which
subsequently affects the NSS in the host.

To keep the max rate independent of this changing NSS, decouple the NSS
calculation to contain the value from only the assoc req when reporting
max rate.

Change-Id: I03d10e397fca6853d05b4812a2adeac0110bc517
CRs-Fixed: 2548498
2019-10-22 23:03:32 -07:00
Yu Ouyang
7117897437 qcacld-3.0: Fix 'sae_info' undeclared issue
Structure csr_roam_info member 'sae_info' is defined only when
WLAN_FEATURE_SAE is defined.
But function csr_process_roam_auth_offload_callback() call it
without any checking.

Because function csr_process_roam_auth_offload_callback() processes
WPA3 SAE info, so rename it, and move it to macro WLAN_FEATURE_SAE.

Change-Id: If3d5c1e6739fbd7bee24d19fbbab3495a9a6f8f6
CRs-Fixed: 2532693
2019-10-22 23:03:27 -07:00
nshrivas
a407fea7d0 Release 5.2.0.153N
Release 5.2.0.153N

Change-Id: I88f94af73a7533ed52874ccad7a44883feb5a0f3
CRs-Fixed: 774533
2019-10-22 18:09:46 -07:00
Manikandan Mohan
19f3609b21 qcacld-3.0: Use policy manager frequency APIs
For 6GHz support and to remove channel number ambiguity use policy
manager APIs updated for frequency in other modules. This change
covers following APIs:
policy_mgr_get_pcl
policy_mgr_update_with_safe_channel_list
policy_mgr_get_valid_chans_from_range
policy_mgr_get_valid_chans
policy_mgr_set_sap_mandatory_channels
policy_mgr_get_pcl_for_existing_conn
policy_mgr_get_mode_specific_conn_info

Change-Id: Ia21829345be2746cd3fc1f2337cfc90abf0c53f4
CRs-fixed: 2550092
2019-10-22 18:09:45 -07:00
Manikandan Mohan
a0bbb518fc qcacld-3.0: Use policy manager frequency APIs
For 6GHz support and to remove channel number ambiguity use policy
manager APIs updated for frequency in other modules. This change
covers following APIs:
policy_mgr_get_chan_by_session_id
policy_mgr_get_mcc_operating_channel
policy_mgr_check_and_set_hw_mode_for_channel_switch
policy_mgr_is_chan_ok_for_dnbs
policy_mgr_is_safe_channel
policy_mgr_valid_sap_conc_channel_check
policy_mgr_disallow_mcc
policy_mgr_add_sap_mandatory_chan
policy_mgr_remove_sap_mandatory_chan
policy_mgr_is_hwmode_set_for_given_chnl
policy_mgr_is_valid_for_channel_switch
policy_mgr_update_user_config_sap_chan
policy_mgr_is_sap_restart_required_after_sta_disconnect
policy_mgr_is_sta_sap_scc
policy_mgr_nan_sap_scc_on_unsafe_ch_chk

Change-Id: I682f8380d9dc41fc015d73f06b6e055d1d04ef97
CRs-fixed: 2545110
2019-10-22 18:09:31 -07:00
Manikandan Mohan
282c4b6f66 qcacld-3.0: Use policy manager frequency APIs
For 6GHz support and to remove channel number ambiguity use policy
manager APIs updated for frequency in other modules. This change
covers following APIs:

policy_mgr_allow_concurrency
policy_mgr_nan_sap_pre_enable_conc_check
policy_mgr_allow_concurrency_csa
policy_mgr_current_connections_update
policy_mgr_incr_connection_count_utfw
policy_mgr_update_connection_info_utfw
policy_mgr_get_channel_from_scan_result
policy_mgr_update_and_wait_for_connection_update
policy_mgr_get_sap_mandatory_channel
policy_mgr_checkn_update_hw_mode_single_mac_mode

Change-Id: I162c2b90a58539194907c5ecd6915eafecc635cc
CRs-fixed: 2545099
2019-10-22 18:09:25 -07:00
Manikandan Mohan
7fdb02592b qcacld-3.0: Use policy manager frequency APIs
For 6GHz support and to remove channel number ambiguity use policy
manager APIs updated for frequency in other modules. This change
covers following APIs:
policy_mgr_is_chnl_in_diff_band
policy_mgr_check_for_session_conc
policy_mgr_handle_conc_multiport
policy_mgr_change_sap_channel_with_csa
policy_mgr_get_channel
policy_mgr_get_nondfs_preferred_channel

Change-Id: I4a6673db3a02b6e8d7fa94ae452338db618e3883
CRs-fixed: 2545099
2019-10-22 18:09:18 -07:00
nshrivas
9cd843df8f Release 5.2.0.153M
Release 5.2.0.153M

Change-Id: I18b958fd219a154e47dbf5ae29ce20e382ad49ee
CRs-Fixed: 774533
2019-10-22 09:05:34 -07:00
Yeshwanth Sriram Guntuka
4ac1584527 qcacld-3.0: Cleanup sta_index in TDLS structures and APIs
Remove sta index references in TDLS structures and APIs
and mac address would be used instead to refer the peer.

Change-Id: I861f7ce068f3f545598129b9f3955b84b2a6fbce
CRs-Fixed: 2524512
2019-10-22 09:05:33 -07:00
Yeshwanth Sriram Guntuka
d2a2291473 qcacld-3.0: Cleanup sta index references in lim
Remove sta index references in lim since mac address
would be used instead of this index as part of the
sta index cleanup.

Change-Id: Ia7cbb94cf988a04506440ddaca6b1c302e13e852
CRs-Fixed: 2524509
2019-10-22 09:05:24 -07:00
Yeshwanth Sriram Guntuka
3f26210aed qcacld-3.0: Do not use cdp API to get local id in wma
Remove usage of cdp APIs to fetch local id and cleanup
few sta index references in wma and lim.

Change-Id: I32633ef7491b3b91ee55dd813a009c4d8010a3f5
CRs-Fixed: 2524506
2019-10-22 09:05:17 -07:00
Sourav Mohapatra
3e1694a888 qcacld-3.0: Remove IOCTL for fetching ibss info
The IOCTL command WE_IBSS_GET_PEER_INFO used to fetch the IBSS peer info
is not used by any external entities. Also, as sta_id is being removed,
the implementation of the current ioctl is outdated.

Remove the IOCTL command all together.

Change-Id: Id4dfafb8d42f6c04af46a633df2a1d1e232da5e4
CRs-Fixed: 2532488
2019-10-22 09:05:08 -07:00
Yeshwanth Sriram Guntuka
e6b54245d6 qcacld-3.0: Remove sta index in few prints
Remove sta index in few prints and replace it
with MAC address as part of sta_index cleanup.

Change-Id: I689ede9dc345667f1a054f76bf3d08b236131c13
CRs-Fixed: 2524505
2019-10-22 09:05:02 -07:00
Sourav Mohapatra
a3cf12aee4 qcacld-3.0: Remove sta_id from hdd_connection_info
As a part of the sta_id clean up, remove the usage of the sta_id from
struct hdd_connection_info. Instead of the station id, use peer mac
address to interact with the protocol and DP layers.

Change-Id: I60b939c37ff49b50579791f45e3e81ed81b86967
CRs-Fixed: 2524514
2019-10-22 09:04:56 -07:00
Visweswara Tanuku
2f35318e60 qcacld-3.0: In SAP mode, use thermal cfg cmd string similar to STA
In SAP mode use thermal cfg cmd string similar to STA, as
"set_thermal_cfg"

CRs-Fixed: 2542936
Change-Id: I2449f880c7254dcd4abe79e2c896e48edbc6b107
2019-10-22 09:04:51 -07:00
nshrivas
534de3ed51 Release 5.2.0.153L
Release 5.2.0.153L

Change-Id: I443dffae7f5370aabc9b3e51a1a2e822ec63fd93
CRs-Fixed: 774533
2019-10-22 03:36:47 -07:00
Naman Padhiar
c52e7fd605 qcacld-3.0: Add PLD layer for WHUNT
WHUNT is host unit testing framework which simulates
firmware. Add a PLD wrapper layer for this virtual device.

Change-Id: I1d09b8a18a25b414b0c1d56723cc5687f2bfe297
2019-10-22 03:36:46 -07:00
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
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
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
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