Commit Graph

17955 Commits

Author SHA1 Message Date
nshrivas
22747cb865 Release 5.2.0.162G
Release 5.2.0.162G

Change-Id: I1362b255deac1117737d834029bfa6c013bf8520
CRs-Fixed: 774533
2019-12-21 21:12:00 -08:00
Pragaspathi Thilagaraj
1e30b6ac29 qcacld-3.0: Clear Country code information after roaming
The connected profile in csr_roam_session is filled after join
success with an AP in csr_roam_process_join_res(). The connected
profile information also has the country code advertised by the
AP over its beacon in the Country Element (EID 7). When STA
roams from AP1 having country IE to AP1 which doesn't have
country IE, the driver checks if the country IE is present in
the AP2 beacon IEs. If the country code is present, new value is
copied, else the older country code value is not cleared.
This results in beacon report failure when roamed to AP2 due
to country code and op class mismatch.

Clear the country code in connected profile before checking if the
country code IE is present.

Change-Id: I503f9761ff33fb245a25b23893360389d7a0b258
CRs-Fixed: 2590117
2019-12-21 21:12:00 -08:00
nshrivas
87fc43fe69 Release 5.2.0.162F
Release 5.2.0.162F

Change-Id: Id74dd64fa0b383aec816bea5bc5afd76320c7c29
CRs-Fixed: 774533
2019-12-21 12:15:05 -08:00
sheenam monga
d87a3b89cb qcacld-3.0: Handle bus bandwidth in start and stop modules
Currently, bus bandwidth is initialized and deinitialized in
different memory domains which may cause leaks due to async bandwidth
init and deinit.

Fix is to initialize and de-initialize bus bandwidth in active domain.

Change-Id: I67cf9ecdd47c8f3ca6e9b272ca379f0cac9a6c7b
CRs-Fixed: 2568881
2019-12-21 12:15:05 -08:00
nshrivas
febc981b59 Release 5.2.0.162E
Release 5.2.0.162E

Change-Id: Ibdda53437f5e1ae5749c45677f2954052def3ff4
CRs-Fixed: 774533
2019-12-20 20:05:56 -08:00
Tiger Yu
db568a828c qcacld-3.0: Don't set unload flags before unregister_driver when unloading
Don't set unload flags earlier before unregister_driver when driver
unloading to avoid runtime resume failure. And set this flags earlier
before wait_for_ops in the pld_pcie_remove to give chance SSR will be
skipped if unloading is in progress.

Change-Id: I084db32b436148932a2a90e3e1dcb1122f4303b5
CRs-Fixed: 2589413
2019-12-20 20:05:56 -08:00
nshrivas
dde47fa72d Release 5.2.0.162D
Release 5.2.0.162D

Change-Id: Icb8833e1e2894d0773a3ae825e141f1a49d19991
CRs-Fixed: 774533
2019-12-20 03:51:52 -08:00
Jianmin Zhu
e75eb51af1 qcacld-3.0: 5G SAP failed to channel switch for sta connecting
When 5G band is disabled by set band,  need SAP switch channel
to 2G. When 5G band is enabled again, need SAP switch back to
original 5G channel. When sta connecting, SAP can't switch
channel.

Merge logic of SAP channel switch for band change and for force
scc with sta, both are implemented in:
policy_mgr_check_concurrent_intf_and_restart_sap now.

After sta associate succeed or fail,
policy_mgr_check_concurrent_intf_and_restart_sap is called again
to check and try SAP CSA for band capability change.

Change-Id: I8574209aac3cabb748a8ec05050244f480e1a0e9
CRs-Fixed: 2589021
2019-12-20 03:51:51 -08:00
nshrivas
de150569b2 Release 5.2.0.162C
Release 5.2.0.162C

Change-Id: Iccb4709b9aad298fbac0954b3d1783e65b9eea1e
CRs-Fixed: 774533
2019-12-19 16:54:10 -08:00
Manikandan Mohan
14d2bf80b3 qcacld-3.0: Fix get channel list with existing connections
Reinitialize pcl_weight index in policy_mgr_get_channel_list
for correct connection count.

Change-Id: I96d38f1cb29014517f2c22e360db5d942eb66519
CRs-Fixed: 2589478
2019-12-19 16:54:10 -08:00
nshrivas
1d0aa329d6 Release 5.2.0.162B
Release 5.2.0.162B

Change-Id: Ib2b5b8eb42e4fd03e892ccffafa8c4d3bd156d5e
CRs-Fixed: 774533
2019-12-19 11:45:08 -08:00
Jianmin Zhu
569aa029a6 qcacld-3.0: Fix LFR2 failure for no better AP event
LFR2 also need set roam offload flag to fw:
WMI_ROAM_FW_OFFLOAD_ENABLE_FLAG of
WMI_VDEV_PARAM_ROAM_FW_OFFLOAD.

Change-Id: Idbb602b717f46f88426ef36a738efd456ac7af8b
only sets roam offload flag to fw for LFR3.

Change-Id: I0abdab998b7a7c336379ab44ca43ac2fb823eed9
CRs-Fixed: 2580519
2019-12-19 11:45:08 -08:00
nshrivas
72c436ab9a Release 5.2.0.162A
Release 5.2.0.162A

Change-Id: I57d830be73c4bd10c2bbfdd4264f226a3d9a0d2d
CRs-Fixed: 774533
2019-12-19 07:09:32 -08:00
Amar Singhal
4ecd7dbe66 qcacld-3.0: Send max AMSDU size to firmware
Firmware needs maximum amsdu size for through-put optimization.
Send host configured amsdu size to firmware when vdev is created.

Change-Id: Ib292c6d9ddc828d5d0a02cf8f6d9a577c8a5c01a
CRs-Fixed: 2573857
2019-12-19 07:09:32 -08:00
nshrivas
7b31b9e751 Release 5.2.0.162
Release 5.2.0.162

Change-Id: I3e65f7ecf7fba45286ee553ff75b97f4b3efc348
CRs-Fixed: 774533
2019-12-19 03:03:53 -08:00
Wu Gao
8805369eb0 qcacld-3.0: Don't create new P2P IE just for NoA attribute
Host still create new P2P IE for NoA attribute even if there is P2P
IE in additional IE from up layer. This change adds NoA attribute to
existing P2P IE directly.

Change-Id: I8585e09ce3d97eb2f6eb67e552659be9962913c9
CRs-Fixed: 2583887
2019-12-19 03:03:53 -08:00
nshrivas
e6b7425e09 Release 5.2.0.161Z
Release 5.2.0.161Z

Change-Id: If34263b1a308d4be982bc641e8012778c127c784
CRs-Fixed: 774533
2019-12-18 18:56:56 -08:00
hqu
d109f767f6 qcacld-3.0: Remove enable_snr_monitoring from hdd_config struct
Currently, enable_snr_monitoring doesn't be initialized properly, in
some acs scenario, hostapd will dump survey(NL80211_CMD_GET_SURVEY),
driver return error due to uninitialized enable_snr_monitoring, this
will result in acs won't be started and sap fail to start.

Fix is to remove enable_snr_monitoring from hdd_config struct,
calling ucfg_scan_is_snr_monitor_enabled() everywhere that
enable_snr_monitoring is being used.

Change-Id: I8784867683b21d9441e980a1215b2db712db381a
CRs-Fixed: 2585661
2019-12-18 18:56:56 -08:00
nshrivas
fb6757f24d Release 5.2.0.161Y
Release 5.2.0.161Y

Change-Id: Idced29a9f74146ee91cf8f9485014b4aeb63ce95
CRs-Fixed: 774533
2019-12-18 08:07:04 -08:00
Abhinav Kumar
0c6565b815 qcacld-3.0: Connection fails due to reassociation in progress
Below are the scenarios where host fails to clear roam in
progress flag:

Case 1: While processing disconnection request
Host should clear roam in progress flag irrespective of
connection state of STA.

case 2: While processing a try-disconnect request
Currently, Host waits for WLAN_WAIT_TIME_STOP_ROAM (4 sec) to
process disconnection, if firmware has already started roaming.
In case if Host doesn't receive roam completion indication from
fw, Host set connection state to not connected and fails to clear
roaming in progress flag. This results host refuses all further
connection request with reason connection in progress.

Fix is to clear roaming_in_progress flag in both cases.

Change-Id: I45d9771bcd546d8914321e3be1a6d0ce6566cdac
CRs-Fixed: 2588803
2019-12-18 08:07:04 -08:00
nshrivas
4a63087564 Release 5.2.0.161X
Release 5.2.0.161X

Change-Id: I950784e682bffa3903f08ac5fe1d2ebf76dccf8e
CRs-Fixed: 774533
2019-12-18 02:46:18 -08:00
Will Huang
3c0285f029 qcacld-3.0: Move back set vdev crypto pararams to wlansap_start_bss
When SSR sap restart, vdev objmgr object will recreate new, if put set
vdev crypto pararams in wlan_hdd_cfg80211_start_bss(), it will not be
invoked by SSR sap restart procedure, so there is no crypto pararams in
vdev and lead to association failure when compare crypto pararams.

Move back set vdev crypto pararams to wlansap_start_bss so sap start
and restart will both invoke it.

Change-Id: I56656ffacbe153fbe73fb6e474048e055cb6a153
CRs-Fixed: 2584138
2019-12-18 02:46:18 -08:00
nshrivas
655c28c51f Release 5.2.0.161W
Release 5.2.0.161W

Change-Id: I4ae85fe1a3692ae6cdb22458765744cf8d5ae911
CRs-Fixed: 774533
2019-12-18 01:21:45 -08:00
bings
eb28e19903 qcacld-3.0: Modify dfs phyerror pulse dur to increase radar detection rate
When radar is injected at +/-30MHz separation from center frequency
in VHT 80MHz mode incorrect pulse duration is reported in the radar
summary reports and lead to decreased radar probablity detection.

Fix the issue by capturing pulses with such characteristics and
modify them to fit within the valid phyerror pulse duration range.

Change-Id: Ic6314a372d6909448fbe4eb694c41736d1719712
CRs-Fixed: 2577632
2019-12-18 01:21:45 -08:00
nshrivas
fd3488f009 Release 5.2.0.161V
Release 5.2.0.161V

Change-Id: I35180db93b56cf4ab4f660ab51e93fe62f7324d8
CRs-Fixed: 774533
2019-12-18 00:07:01 -08:00
sheenam monga
ec59a16f71 qcacld-3.0: Fix null session dereference in lim_populate_he_mcs_set
Currently, ch_width of session is checked without validating
session  which may lead to NULL pointer derefrence.

validate session_entry before accessing element of
pe_session

Change-Id: I1f785555fa77a0c588e9b5245ad513fe059974d0
CRs-Fixed: 2585928
2019-12-18 00:07:01 -08:00
nshrivas
2e314dee34 Release 5.2.0.161U
Release 5.2.0.161U

Change-Id: Ibcdbc91ba0316ed0dc94f6290b1c826458e08579
CRs-Fixed: 774533
2019-12-17 16:37:53 -08:00
Liangwei Dong
73fdb0d319 qcacld-3.0: Fix VHT 160 rate report
1. Update pAddBssParams->ch_width to 160Mhz ch width value
based on VHT operation IE's ch width, channel segment 0
and channel segment 1 fields.

2. Report link rate information to OS for 160Mhz based on
rate flag TX_RATE_VHT160.

The change will fix the incorrect bandwdith reported by
IW commmand (iw wlan0 link) when STA is connected to AP
in VHT160 mode.

Change-Id: I698b12da825619e8e8f28f0cf4ea1ccf2e7072e6
CRs-Fixed: 2585986
2019-12-17 16:37:53 -08:00
Liangwei Dong
3b2fd85feb qcacld-3.0: Handle HE 160Mhz bandwidth rate report
Update tx rate flags to include 160Mhz bandwidth in
wma_set_bss_rate_flags_he.
Add HE 160 mcs to rate mapping for nss 1 and nss 2.
This change will fix incorrect bandwidth report via
IW command: iw wlan0 link.

Change-Id: Idd1adc4f2783b86a2a837999ea87bb38c813f213
CRs-Fixed: 2585078
2019-12-17 16:37:38 -08:00
nshrivas
dd50d06acb Release 5.2.0.161T
Release 5.2.0.161T

Change-Id: I4c209acce220163c3d7a47f892550cfa235344f5
CRs-Fixed: 774533
2019-12-17 14:09:53 -08:00
Ashish Kumar Dhanotiya
d8d7dead7d qcacld-3.0: Add support for oem data event
Currently use of comamnd QCA_NL80211_VENDOR_SUBCMD_OEM_DATA
is to pass data blobs from Application to FW but there is
no mechanism to send the data blobs from FW to Application.

To meet the above requirement update the usage of existing
OEM DATA command to use it as a vendor event as well to
send data blob from host to Application.

Change-Id: I502312f25d2754984b86e1cc4e011800a5d4b58a
CRs-Fixed: 2573464
2019-12-17 14:09:53 -08:00
nshrivas
ce22a839d1 Release 5.2.0.161S
Release 5.2.0.161S

Change-Id: I5fb65233f5c540dfe4f834b7f7357e7aeef0d673
CRs-Fixed: 774533
2019-12-17 03:45:13 -08:00
Arun Kumar Khandavalli
6538f769c0 qcacld-3.0: Add a check for driver status in wlansap_set_band_csa
with a new change I9b2b1ead3b4502022aeefc08359037457bb051f9 added for
to switch from 2.4g from 5g when an indication is received, During the
driver re-initliazation also this function is getting invoked and trying
access freed memory resulting in null pointer deference.

Donot process the function wlansap_set_band_csa when the driver is
recovering.

Change-Id: Iab67d5b77ffc98166bf421ff30bcf641e37fef6a
CRs-Fixed: 2587706
2019-12-17 03:45:12 -08:00
Arun Kumar Khandavalli
c988c53ea7 qcacld-3.0: Move from qdf event to linux completion for vdev destroy
Whenever there is a process waiting on a response from firmware it has the
option of using either a qdf_event or a linux completion event.
The primary difference between these is that if there is an SSR all
qdf_events are immediately completed whereas Linux completion events are
only completed by the normal flow of code.

With new upcoming changes SSR processing will take the normal path for
releasing all of its resources, and the qdf_session_close_event is used for
synchronization.
If we define this as a qdf_event, it will be completed when the SSR begins,
defeating its purpose.

Therefore change this to be a Linux completion event.

Change-Id: Ia6fe504e2a2d01f12c3d3446fffc2fc397566966
CRs-Fixed: 2586190
2019-12-17 03:45:01 -08:00
nshrivas
e7a73bf599 Release 5.2.0.161R
Release 5.2.0.161R

Change-Id: If0f0f86c4003093711dbe2ccc327e194df1ce530
CRs-Fixed: 774533
2019-12-17 00:12:04 -08:00
Abhinav Kumar
444a5ebc80 qcacld-3.0: Add ini support to skip full scan after bmiss
Currently, after FINAL_BMISS detection, FW does channel map
based partial scan followed by one full scan if no candidate
found in partial scan to ROAM to another available AP without
disconnection. This results in additional delay by HOST in
issuing disconnection after a heartbeat failure.

Add INI support (bmiss_skip_full_scan) to allow FW to decide
whether firmware does channel map based partial scan or partial
scan followed by full scan in case no candidate is found in
partial scan after final BMISS.

Change-Id: I48f9bb43bb7933e9ff173f618586ea5986530dcd
CRs-Fixed: 2578848
2019-12-17 00:12:04 -08:00
nshrivas
523a327e6d Release 5.2.0.161Q
Release 5.2.0.161Q

Change-Id: I70535b95d886838de3f4df525b4292bc9cbf8a79
CRs-Fixed: 774533
2019-12-16 21:15:30 -08:00
Rajeev Kumar
6b593aee71 qcacld-3.0: Remove pm_freezing check from psoc idle restart
pm_freezing check to abort system suspend during psoc idle
restart is not working and hence remove pm_freezing check.
Correct fix(change Ib89eca5014729f6a2103e14c6f46540d1406a5a0)
to reliably abort system suspend by calling qdf system awake
api during psoc idle restart is already present so pm_freezing
check is no longer needed.

Change-Id: Ifb56a2a9858378508ef9e583bdd15e63c26d9ba6
CRs-Fixed: 2587453
2019-12-16 21:15:30 -08:00
Gururaj Pandurangi
1e8f221be0 qcacld-3.0: Change config type of tx_bf_cap to uint
Change max value of tx_bf_cap to 4294967295 from -1
which is misconfigured. 4294967295 corresponds to
0xFFFFFFFF which is max value for 32 bit unsigned
int since this CFG item is getting used as part of
4 byte dot11f HT capability population.

Change-Id: Ifd0fea080dd9eb1f6995af0df20c68e3f73b891a
CRs-Fixed: 2581060
2019-12-16 21:15:23 -08:00
nshrivas
8f875e196f Release 5.2.0.161P
Release 5.2.0.161P

Change-Id: I17d9d1beb0b27e70327fd303f2c5c0aa47ea5218
CRs-Fixed: 774533
2019-12-16 19:45:32 -08:00
Alan Chen
dc26e04062 qcacld-3.0: Sanitize fils_erp_rrk_len before doing memcpy
Currently, the hdd_update_connect_params_fils_info() function blindly
trusts the size and copies into the fils_info->r_rk buffer, putting it
at risk of buffer overflow. Add a check to make sure the buffer passed
in to be copied to fils_info->r_rk is of the proper length.

Change-Id: I9ad2405ca1acd83591bea2aa43406909ad1c58e4
CRs-Fixed: 2580776
2019-12-16 19:45:32 -08:00
Yue Ma
b1e993f96a qcacld-3.0: Clean up channel number usage for CDP API
For cdp_hl_fc_set_td_limit() API, use channel frequency instead of
channel number.

Change-Id: Ic053be33ac7c7cbd2543b0208a1184b3f20a4346
CRs-fixed: 2565734
2019-12-16 19:45:14 -08:00
gaurank kathpalia
703aee2018 qcacld-3.0: Set seg1 frequency segment in case of 5ghz 160Mhz
Set seg1 frequency segment in case of 5ghz 160Mhz as
the primary centre channel frequency of 160Mhz band.

Change-Id: Id541419c084d8cdf2a22e84170dbe68d731f5ad0
CRs-Fixed: 2587220
2019-12-16 19:44:53 -08:00
nshrivas
7fb069d789 Release 5.2.0.161O
Release 5.2.0.161O

Change-Id: I4382ddbea60a8e9285cb3a719d67f1c2f43296f1
CRs-Fixed: 774533
2019-12-16 16:17:11 -08:00
Ashish Kumar Dhanotiya
b01e45b865 qcacld-3.0: Validate assoc response IE len before copy
When host sends ft assoc response to supplicant, it
allocates a buffer of fixed size and copies a variable
length of assoc response IEs to this fixed sized buffer.
There is a possibility of OOB write to the allocated buffer
if the assoc response IEs length is greater than the
allocated buffer size.

To avoid above issue validate the assoc response IEs length
with the allocated buffer size before data copy to the buffer.

Change-ID: Ife9c2071a8cc4a2918b9f349f4024478f94b2d78
CRs-Fixed: 2575144
2019-12-16 16:17:11 -08:00
nshrivas
4ea94fe0a5 Release 5.2.0.161N
Release 5.2.0.161N

Change-Id: I8e09a08ec5ee3db8d1b30153062290a4a8e0a58e
CRs-Fixed: 774533
2019-12-16 14:19:12 -08:00
Jingxiang Ge
8fdd274a24 qcacld-3.0: Vdev trans return directly if psoc/driver is in transition
Issue happen when:
thread1:
       rmmod driver, wlan_hdd_pld_remove which will get psoc trans.
       then try to get rntl_lock in hdd_unregister_wext;

thread2:
       trigger iw del interface, cfgops in kernel will get get rtnl_lock,
       in wlan_hdd_del_virtual_intf, vdev trans will be blocked by psoc
       trans in thread1. as thread1 it is also waiting for rtnl_lock, so
       both thread will be stuck.

Fix is:
       In psoc trans, vdev trans and vdev ops is not allowed, which should
       return directly.

Change-Id: I9cbd04bac438bb9483b4e89e73801fe71859e139
CRs-Fixed: 2583675
2019-12-16 14:19:12 -08:00
nshrivas
e9946e57e6 Release 5.2.0.161M
Release 5.2.0.161M

Change-Id: I651cadd0ce4853e488aaf3bbb440a1d01c149594
CRs-Fixed: 774533
2019-12-16 06:35:16 -08:00
Hangtian Zhu
274e08b80a qcacld-3.0: Fix compile issues when some features are disabled
Fix compile issues when some features are disabled, the features are:
BUILD_DEBUG_VERSION
CONFIG_CP_STATS
CONFIG_HOST_OPCLASS
CONFIG_FEATURE_ROAM_DEBUG
There are some other features depends on each other, so enabled features to
qcs40x.snoc.perf_defconfig, the features are:
CONFIG_WLAN_FEATURE_FILS
CONFIG_WMI_ROAM_SUPPORT
CONFIG_WMI_STA_SUPPORT
CONFIG_REG_CLIENT
CONFIG_WLAN_FEATURE_DP_BUS_BANDWIDTH
CONFIG_WMI_CONCURRENCY_SUPPORT
CONFIG_LL_DP_SUPPORT

Change-Id: I6fa1eacb79576a955e593dbb9ac52083742275e3
CRs-Fixed: 2354496
2019-12-16 06:35:16 -08:00
nshrivas
ebede607b8 Release 5.2.0.161L
Release 5.2.0.161L

Change-Id: I61ee6b1e4a4bdd3c8431b73095f775e2b19bd9c3
CRs-Fixed: 774533
2019-12-16 05:11:59 -08:00