Commit Graph

17794 Commits

Author SHA1 Message Date
Kiran Kumar Lokere
5abc59e4bf qcacld-3.0: Fix incorrect phymode in 6GHz connection
Add support to parse 6GHz operation information from AP beacon for
connection.

Change-Id: I67d167cd982163e28b3bbe7dc81747d8289a1513
CRs-Fixed: 2567849
2019-11-20 01:15:01 -08:00
nshrivas
8e36da41ba Release 5.2.0.157W
Release 5.2.0.157W

Change-Id: I61035f8cf50ab64178b8fd14f93963547e4e3f3d
CRs-Fixed: 774533
2019-11-19 22:32:54 -08:00
Pragaspathi Thilagaraj
7be8933aba qcacld-3.0: Allow roaming to whitelist SSID
Currently, when roaming to different SSID, the host driver
validates the SSID of the current connected AP and the roamed
SSID. If the validation fails, the driver disassociates with
the current AP, which results in data path carrier queues being
disabled. And as part of the roam indication to the user space,
the driver doesn't enable carrier queues.

Check if the SSID from the roam synch indication is present in
the allowed SSID list, if the SSID is present don't
disassociate with current AP.

Change-Id: Iafe3497d5d00753edbd5d5176ff3acd1a6d949bd
CRs-Fixed: 2567233
2019-11-19 22:32:52 -08:00
Alan Chen
18cb483d82 qcacld-3.0: Create new hdd_adapter_iterate() function
Currently, there is a problem in hdd_for_each_adapter(), as it is
checking for the NDI adapter only in an infinite loop. Create
hdd_adapter_iterate() in order to iterate through all adapters properly.

Change-Id: Ib0e22d0f46d6311d44de3ee48b3202376a42f209
CRs-Fixed: 2568906
2019-11-19 22:32:43 -08:00
nshrivas
7d76e2d36b Release 5.2.0.157V
Release 5.2.0.157V

Change-Id: Id1c78dc49d1c22b0b8f03e1c2a352533c281521d
CRs-Fixed: 774533
2019-11-19 14:44:30 -08:00
Wu Gao
ceac285c37 qcacld-3.0: Use pre_auth_channel_freq to replace preAuthchannelNum
Add pre_auth_channel_freq into struct sSirFTPreAuthReq and replace
preAuthchannelNum.

Change-Id: I47f8a1e4057b4efd2a307b26c066a695e5338aa2
CRs-Fixed: 2568598
2019-11-19 14:44:29 -08:00
nshrivas
707e837ef0 Release 5.2.0.157U
Release 5.2.0.157U

Change-Id: I5a5d0f81e6e8b534cd6ca86738b961862c2729be
CRs-Fixed: 774533
2019-11-19 13:04:42 -08:00
Amar Singhal
999bd8a3aa qcacld-3.0: Check for 6 ghz operating class in IEs
For legacy platforms, due to channel number ambiguity between 6ghz
and 5/2.4 channels, operating class should be checked while
processing management frames. Therefore check the operating class in
the relevant IEs.

Change-Id: I85b9d3da0430e6448480d47dc95b2fdfa8b6e288
CRs-Fixed: 2556219
2019-11-19 13:04:42 -08:00
nshrivas
8e4c902786 Release 5.2.0.157T
Release 5.2.0.157T

Change-Id: I087889faf17b7de6b47fb0d0731deeb2cccb31ac
CRs-Fixed: 774533
2019-11-19 03:38:43 -08:00
Karthik Kantamneni
2d65b47bb3 qcacld-3.0: Add WHUNT bus types in pld_lock/unlock_reg_window APIs
Currently pld_lock/unlock_reg_window APIs don't support
WHUNT simulation bus types and treated as error.
Add support for WHUNT simulation buses in lock/unlock
register window APIs.

Change-Id: I1e82d822becaadc9592b693e6ab20331ecb9cbc2
2019-11-19 03:38:43 -08:00
gaurank kathpalia
8c516f0824 qcacld-3.0: In ACS use scan entry to get BW, center freq etc
In ACS, driver uses frame parser to get the HT/VHT/HE IE to fill
bandwidth, center freq etc. These info are already available in
scan entry so use them.

Change-Id: I5148f8aa20174b4fa0fc64acd7b74825e10ede03
CRs-Fixed: 2568513
2019-11-19 03:38:36 -08:00
nshrivas
d0fa9505a6 Release 5.2.0.157S
Release 5.2.0.157S

Change-Id: I996ca1bed27270ce8e1984e8a3693ca045d1cc18
CRs-Fixed: 774533
2019-11-19 01:45:36 -08:00
Wu Gao
480a304199 qcacld-3.0: Cleanup tx context if cancel mgmt tx
It doesn't cleanup tx context immediately, which cause mgmt will be
tx again unexpectly. Then P2P state mismached and form connection
failed.

Change-Id: I9eba9df057221e5dabf5ff42fe0d2fd695aea9df
CRs-Fixed: 2564622
2019-11-19 01:45:36 -08:00
nshrivas
b4a3740ae0 Release 5.2.0.157R
Release 5.2.0.157R

Change-Id: I4df40647c84f7bd3b207010d26a2fec28e0182de
CRs-Fixed: 774533
2019-11-18 22:59:47 -08:00
Abhinav Kumar
18c78a34b9 qcacld-3.0: Possible OOB write in rrm_process_radio_measurement_request
In case if two measurement requests calls update_rrm_report() twice,
possible out-of-bounds write for the allocated report array, report[]
in rrm_process_radio_measurement_request

Change-Id: Icc8b7aa14bbcc1219d28025e599c9976a3525bba
CRs-Fixed: 2564485
2019-11-18 22:59:46 -08:00
Jinwei Chen
230918fa0e qcacld-3.0: enable ENABLE_QDF_PTR_HASH_DEBUG macro for debugging
Enable ENABLE_QDF_PTR_HASH_DEBUG macro for Def build only to debug
qdf_ptr_hash related issue.

Change-Id: Ifa35afa716333d3bf777558e15d7b0295abce72c
CRs-Fixed: 2566025
2019-11-18 22:59:36 -08:00
nshrivas
565a72f7b8 Release 5.2.0.157Q
Release 5.2.0.157Q

Change-Id: Ib6c126c82c9384ed8dfb8205ad6c7f12cdd7ddf9
CRs-Fixed: 774533
2019-11-18 14:08:49 -08:00
Yeshwanth Sriram Guntuka
4382d420fd qcacld-3.0: Enable large ce desc history only for helium
Enable large ce desc history only for helium.

Change-Id: Ia4261736f48b7bd9859506f6e6917a0e6ed287f8
CRs-Fixed: 2568325
2019-11-18 14:08:49 -08:00
nshrivas
da0af59bda Release 5.2.0.157P
Release 5.2.0.157P

Change-Id: I3ed8b7ee416402dac911b03ce244b943881955cb
CRs-Fixed: 774533
2019-11-18 10:32:31 -08:00
Jianmin Zhu
d69d654b67 qcacld-3.0: Replace chan list with freq list in sme
populate pcl_freq_list instead of pcl_channel_list in
scan_filter.
populate chan_freq_list instead of channel_list in scan_filter.

Change-Id: I3ab0865f3533332ff4e7ad4511b857d3712a1404
CRs-Fixed: 2561869
2019-11-18 10:32:31 -08:00
Jianmin Zhu
5d162769f5 qcacld-3.0: Convert SME code legacy channel ID usage
Remove usage of sme_freq_to_chan_list from:

csr_neighbor_roam_get_scan_filter_from_profile
sme_rrm_send_scan_result

Change-Id: I67f968c306d31f1e17cc9434274f65600cb39b02
CRs-fixed: 2561229
2019-11-18 10:32:19 -08:00
nshrivas
22b594ff43 Release 5.2.0.157O
Release 5.2.0.157O

Change-Id: I8c53bbbcee41181d01ea5f18d3540bf5623803b6
CRs-Fixed: 774533
2019-11-18 04:04:56 -08:00
Tiger Yu
564aa84417 qcacld-3.0: Update the IPA interface context if device_mode is different
For wlan_ipa_setup_iface, if found the net_dev is already there,  but the
device_mode is different, will remove this obsolete record and update it
with new interface context for current IPA WLAN event.

Change-Id: Ib9ecd7f7b3b9603c37dc1d69cd0f3a2868c978ec
CRs-Fixed: 2567222
2019-11-18 04:04:56 -08:00
nshrivas
f90e91efed Release 5.2.0.157N
Release 5.2.0.157N

Change-Id: I2dcd8ea9be805c9068666b67f51b1801e1a8faa2
CRs-Fixed: 774533
2019-11-18 02:29:36 -08:00
Sourav Mohapatra
1600c7ace6 qcacld-3.0: Use dynamic NSS while reporting stats
Presently in the driver, the NSS used for reporting stats to the upper
layer is fetched from the VDEV generic NSS. This NSS is not updated
dynamically with the set NSS command. As a result, in the case the
command is given, the NSS reported to the userspace is not proper.

To mitigate this, instead of fetching the generic NSS, fetch the dynamic
NSS from the mlme.

Change-Id: I9fdbc0625ebe8343a7bf750829db028f4ddd86d0
CRs-Fixed: 2551187
2019-11-18 02:29:35 -08:00
Abhishek Ambure
ee81f8b2eb qcacld-3.0: Set 5G band capability bit in gActionOUIConnect1x1 ini
gActionOUIConnect1x1 is used to specify action OUIs for 1x1
connection.

Some Access Points are unable to handle SMPS and OMN frames and shows
abnormal behaviour when STA is switching between 2x2 to 1x1 and
vice-versa. To avoid this, restrict connection in 1x1 mode with such APs.

Here the scenario is DUT STA1 connects in 2x2 mode to AP1 in 5G mode then
later on DUT another STA2 iface connects to AP2 in 2G mode. DUT sends OMN
frame to AP1 to inform that it is going to switch to 1x1 mode. AP1 ack
this frame but doesn't change its Tx rates and continues to use 2x2 rates
which DUT cannot ACK. This causes low throughput issue where AP1 Tx rate
falls to 6Mbps due to missing acks.

Hence, 5G band capability bit in "gActionOUIConnect1x1" is set to make
connections in 1x1 with such AP.

Presently, 5G band capability bit is not checked if 2G band capability bit
is not set or 2G band is not enabled. Hence, Vendor AP capability check for
2G and 5G Band is refactored.

Change-Id: Ic6b682451405a2373000e4c64656f50c2fab0ee6
CRs-Fixed: 2558293
2019-11-18 02:29:15 -08:00
Liangwei Dong
9f67bd28c8 qcacld-3.0: Fix Invalid 6G HE OP IE
1. Zero local variable "he_ops" before intersect with user IE.
2. If csr_check_and_validate_6g_ap fails, use "break" to
free memory in end of function csr_send_join_req_msg.
3. Remove co_located_bss checking for 6GHz AP. co_located_bss
can be valid for 6GHz AP.

Change-Id: I4b521eead6e09db860b5e21c21882f14a1be8576
CRs-Fixed: 2563923
2019-11-18 02:29:07 -08:00
nshrivas
a97115fcf9 Release 5.2.0.157M
Release 5.2.0.157M

Change-Id: Ib80a511033bd0fe8d372aa96a4496045bbd61af9
CRs-Fixed: 774533
2019-11-18 00:45:29 -08:00
Venkata Sharath Chandra Manchala
9173dd545e qcacld-3.0: Add HAL_CONFIG_SLUB_DEBUG_ON
Enable HAL_CONFIG_SLUB_DEBUG_ON to enable
debug level changes in HAL layer.

Change-Id: I6d175f0cf25bb20d0ad4d7cf7f0e92f77d23a0f1
CRs-Fixed: 2566849
2019-11-18 00:45:29 -08:00
Alan Chen
e119c7dcc5 qcacld-3.0: Use qdf_pm_system_wakeup() for abort system suspend
hdd_abort_system_suspend() function currently uses pm_wakeup_hard_event(),
which does not work because device is not initialized. Switch to using
pm_system_wakeup() instead by calling qdf_pm_system_wakeup() wrapper.

Change-Id: Ib89eca5014729f6a2103e14c6f46540d1406a5a0
CRs-Fixed: 2566770
2019-11-18 00:45:18 -08:00
nshrivas
bb2b08b141 Release 5.2.0.157L
Release 5.2.0.157L

Change-Id: Ie4fb877767eda74bee62916c1d2e2517ea6f9725
CRs-Fixed: 774533
2019-11-16 17:55:40 -08:00
Kiran Kumar Lokere
6056d188b8 qcacld-3.0: Correct the 6GHz operation info in HE op IE
Correct the 6G operation info field values in HE operation IE.
And replace the legacy api with new 6G support api to calculate
channel center frequencies.

Change-Id: Icafdd72b386137a6a0c8d0de233d4fbdbd121610
CRs-Fixed: 2557233
2019-11-16 17:55:39 -08:00
nshrivas
80e9ac4563 Release 5.2.0.157K
Release 5.2.0.157K

Change-Id: I62850f83aed47247eae4623f6e67c1f76b4ec457
CRs-Fixed: 774533
2019-11-16 15:22:58 -08:00
gaurank kathpalia
cbffd58306 qcacld-3.0: Initialize the acs pending work in do acs
Scenario:-
Two ACS request come in parallel, for two SAP startup
The driver started with one ACS, and scheduled the
other after the first one is complete,driver sets
a bit in flag of adapter that is
test_bit(ACS_PENDING, &adapter->event_flags)
and then schedule work when the ACS channel is
selected in the API wlan_hdd_cfg80211_acs_ch_select_evt.

After this driver got delete interface for the second
interface and as part of it in hdd stop adapter
driver checks that if the flag of pending ACS is set,
flush the pending ACS work, and reset the flag.

But the work is yet to be initialized, which would be done
as part of wlan_hdd_cfg80211_acs_ch_select_evt
and it is not yet completed as the first ACS is busy with the
ACS scan, and the scan callback and channel selection logic
is still yet to be done.

Fix is to initialize the work when the driver detects that
first ACS is in progress, and it needs to wait for the
first one to complete.

Change-Id: If706528f1afd6075144bff40611e82742df76368
CRs-Fixed: 2559703
2019-11-16 15:22:57 -08:00
nshrivas
42e5bb53c1 Release 5.2.0.157J
Release 5.2.0.157J

Change-Id: Iad3132015f85583b5ed6cdf6ca67c9c06fb4dba0
CRs-Fixed: 774533
2019-11-15 21:00:09 -08:00
Rajeev Kumar Sirasanagandla
d320ac4d17 qcacld-3.0: Fix failure of NDP peer save
Invocation of wrong api hdd_is_valid_mac_address() makes hdd_save_peer()
always return false due to which hdd_roam_register_sta() is skipped in
hdd_ndp_new_peer_handler() and can cause ping failure.

To fix this, use api qdf_is_macaddr_zero() instead of
hdd_is_valid_mac_address() in hdd_save_peer() to get the unused
entry in NDP peer mac table.

Change-Id: Id9aa6bcebb7fd168ee281065ebffe7227f9bc10f
CRs-Fixed: 2554502
2019-11-15 21:00:09 -08:00
nshrivas
c34d97c26f Release 5.2.0.157I
Release 5.2.0.157I

Change-Id: I03b7941d0cebf808fe7756b8e1474ae31b698731
CRs-Fixed: 774533
2019-11-15 16:01:07 -08:00
Wu Gao
6b778803fc qcacld-3.0: PCL update for case about SAP and NAN
Updated PCL table to support 3-port concurrency AP+NAN_DISC+NDI/NDP
and 4-port concurrency scenarios AP+AP+NAN_DISC+NDI/NDP.

Change-Id: Ic8ba4d12651d42b6c07cf86125a17071a57683d2
CRs-Fixed: 2508242
2019-11-15 16:01:07 -08:00
Arun Kumar Khandavalli
dac7a45e2d qcacld-3.0: Donnot send vdev delete via serialization
Presently vdev delete is sent via serialization, which
needs a vdev reference. With the new FR to send the
vdev delete on the physical destroy in object manager
vdev delete cannot be sent via serialization.

Hence, disable the serialization for the vdev and
donot send the vdev delete via serialization.

Change-Id: I3afa34880ddaab68850ed235ec1451370d82e7dd
CRs-Fixed: 2566120
2019-11-15 16:00:57 -08:00
gaurank kathpalia
cc3e2fd338 qcacld-3.0: Remove legacy usage of channels in WMA layer
Remove legacy usage of channels in WMA layer and
use frequencies instead to incorporate 6ghz
frequencies as well.

Change-Id: Iba4a9ea723d5c03a4deeaffc5fbdf628f435eb67
CRs-Fixed: 2563924
2019-11-15 16:00:49 -08:00
nshrivas
05e835a045 Release 5.2.0.157H
Release 5.2.0.157H

Change-Id: I3abff8971b9a27a4e5f4646b0d086f319d1cd62d
CRs-Fixed: 774533
2019-11-15 05:43:43 -08:00
Kiran Kumar Lokere
5414066815 qcacld-3.0: Policy manager support in 160MHz mode
Add policy manager support for 160MHz mode connection.

Change-Id: I697dabbd752e768c128f8663674c91adccd72424
CRs-Fixed: 2558047
2019-11-15 05:43:43 -08:00
nshrivas
80678a3d85 Release 5.2.0.157G
Release 5.2.0.157G

Change-Id: I2b951bfb1e2045c33b778a49d8d907646b0bba8f
CRs-Fixed: 774533
2019-11-15 03:57:33 -08:00
gaurank kathpalia
34fe0b641b qcacld-3.0: Enable the DBS ini if DBS is mandatory
The driver does not check the device DBS capability
and the DBS ini compatibility( ch select policy)
If the DBS ini channel_select_logic_conc is disabled
and HW mandates DBS capability then overide the ini
to always keep it enable.

Change-Id: I629fd8661f70b64808a55c4c9bdafa9608787b09
CRs-Fixed: 2551648
2019-11-15 03:57:32 -08:00
gaurank kathpalia
e314029ccf qcacld-3.0: Enable the DBS ini if DBS is mandatory
The driver does not check the device DBS capability
and the DBS ini compatibility.
If the DBS ini gDualMacFeatureDisable is disabled
and HW mandates DBS capability then overide the ini
to always keep it enable.

Change-Id: I2b31453f9c8a04cef7f943b30d3c28f844c276b5
CRs-Fixed: 2551644
2019-11-15 03:57:22 -08:00
nshrivas
8af102d467 Release 5.2.0.157F
Release 5.2.0.157F

Change-Id: Iec96e8a6f7091875f0cf958c02f6971bbbf02ab0
CRs-Fixed: 774533
2019-11-15 02:27:24 -08:00
Rajeev Kumar Sirasanagandla
c567f5f7bc qcacld-3.0: Add 6GHz support for VENDOR_SUBCMD_SET_SAP_CONFIG
As a part of 6GHz support, add support to parse channel frequency
attribute: QCA_WLAN_VENDOR_ATTR_SAP_CONFIG_FREQUENCY (in MHz)
in QCA_NL80211_VENDOR_SUBCMD_SET_SAP_CONFIG command data.

Change-Id: I8e9956ef0db1a511f4252d6fb1f03201df54c3c1
CRs-Fixed: 2534010
2019-11-15 02:27:23 -08:00
Rajeev Kumar Sirasanagandla
e83ac29a70 qcacld-3.0: Add 6GHz support for VENDOR_SUBCMD_ACS_POLICY
As a part of 6GHz support, add support to parse channel frequency
attribute: QCA_WLAN_VENDOR_ATTR_ACS_FREQUENCY_HINT (in MHz)
in QCA_NL80211_VENDOR_SUBCMD_ACS_POLICY command data.

Change-Id: Ic7bee5fe1123b82607e375c71a21b9744d67ea17
CRs-Fixed: 2533998
2019-11-15 02:27:15 -08:00
nshrivas
c471ae9eae Release 5.2.0.157E
Release 5.2.0.157E

Change-Id: Iab4b7dcfa5465be6d72d39b419d7b954f76e3a6b
CRs-Fixed: 774533
2019-11-15 00:57:42 -08:00
Rajeev Kumar Sirasanagandla
95f202a55b qcacld-3.0: Add 6GHz support for VENDOR_SUBCMD_EXTERNAL_ACS
As a part of 6GHz support, add support to parse and send channel
frequency (in MHz) in QCA_NL80211_VENDOR_SUBCMD_EXTERNAL_ACS
command/event data.

Change-Id: I87879b4f8dd6a5c4ded2e89c527ba91432c9c48a
CRs-Fixed: 2533732
2019-11-15 00:57:42 -08:00