Commit Graph

8974 Commits

Author SHA1 Message Date
Abhishek Singh
6884428a1a qcacld-3.0: Add ini to enabled/disable the SU beamformee in vendor VHTIE
Enabling SU beamformee in vendor vht IE gives good throughput in long
range while bad throughput in short range due to excessive sounding
action frames sent by APs.

So to give control to the user, add INI "enable_subfee_vendor_vhtie"
to enabled/disable the SU beamformee in vendor vht IE. It is
dependend on INI "gTxBFEnable" and if "gTxBFEnable" is set to 0
this will not have any effect and SU beam forming will always be
disabled.

Change-Id: Id67ea86d3e0a48fec8913d6254733f753dfdae8b
CRs-Fixed: 2178940
2018-02-01 02:20:49 -08:00
snandini
875125c39b Release 5.2.0.64A
Release 5.2.0.64A

Change-Id: Idb7993a667b0d7caf04799fa8762115d5be7dc91
CRs-Fixed: 774533
2018-01-31 21:49:27 -08:00
Jingxiang Ge
190679b412 qcacld-3.0: Fix use-after-free for peer->access_list
In ol_txrx_peer_release_ref, it is possible that this function is
scheduled out when just unlock peer_ref_mutex, unmap event will
come to decrease ref_cnt and free peer object, when
ol_txrx_peer_release_ref is scheduled back and access peer info,
it will cause use-after-free.

Get peer info in the protection of peer_ref_mutex.

Change-Id: Ic442f53e0993a931c4411d9dbc85f04d6a85dc46
CRs-Fixed: 2180584
2018-01-31 21:49:26 -08:00
snandini
93e4ee23dc Release 5.2.0.64
Release 5.2.0.64

Change-Id: I621bdf76ad733000190419767db0b1f8ef23099e
CRs-Fixed: 774533
2018-01-31 18:23:22 -08:00
Kiran Kumar Lokere
4087585aa2 qcacld-3.0: Add ADDBA extenstion element support
Add support to parase and include the ADDBA extesion
element in ADDBA request and response frames

Change-Id: Ifab94f77ff9d2757794d5530fee6596534a6d73b
CRs-Fixed: 2166790
2018-01-31 18:23:20 -08:00
snandini
b7f475b439 Release 5.2.0.63Z
Release 5.2.0.63Z

Change-Id: Iab1c2bcdb7ea7134d635accdec1eeb506246692d
CRs-Fixed: 774533
2018-01-31 05:28:12 -08:00
Abhishek Singh
cb101f25b8 qcacld-3.0: Do not send Assoc failure before initiating disconnect
In Roam invoke failure the SME send Assoc failure to HDD layer and
schedule a disconnect. Assoc failure indicate the disconnection
to supplicant and supplicant send a new connect command, which will
change some state in HDD, and post the command in SME. But during
same time the disconnect from roam invoke failure change the
state of HDD and supplicant to disconnected and SME continue
to connect.
The success is not send to supplicant and no EAPOL exchanges is
started by supplicant which is in disconnected state. This lead to
driver stuck in wait for key state and no SME commands are allowed.

To fix this do not send Assoc failure before initiating disconnect
as disconnect will anyway take care of the cleanup.

Change-Id: Ie6de1de41a9eeed71530f1b2516b01e7839dac82
CRs-Fixed: 2181528
2018-01-31 05:28:11 -08:00
snandini
ea1ab0408d Release 5.2.0.63Y
Release 5.2.0.63Y

Change-Id: I1ebb356d246f9ddba106c6026cc3d2dd7d0d45d7
CRs-Fixed: 774533
2018-01-31 02:05:46 -08:00
Vignesh Viswanathan
694e28eee7 qcacld-3.0: Add support for 11k offload to FW
Add new ini options for 11k offload paramters and changes to pass down the
11k offload parameters to the FW. The 11k offload command is sent after
roam start to the FW in connect path.

Also add 11k invoke command support to offload neighbor report request
iwpriv command to FW

Change-Id: If6d4bff91531e5460bbc8a851a6d777cf088eda0
CRs-Fixed: 2162029
2018-01-31 02:05:45 -08:00
snandini
886144d04b Release 5.2.0.63X
Release 5.2.0.63X

Change-Id: Ib2b8b2a70c0dd43ed1120275697a52f934c0dcb9
CRs-Fixed: 774533
2018-01-31 01:28:37 -08:00
Liangwei Dong
fc26cdae30 qcacld-3.0: Fix NULL acs_cfg ptr access
acs_cfg is not initialized when sap starts
failed. And acs_cfg is accessed during
Random channel selection when sap interface
gets Radar event.

Fix by checking sap ctx state and acs_cfg
During dfs radar event.

Change-Id: I7e04e1a9e357ccd0b39b4edcc4c8a34b54e388ce
CRs-Fixed: 2174532
2018-01-31 01:28:36 -08:00
snandini
7073faddb4 Release 5.2.0.63W
Release 5.2.0.63W

Change-Id: I24be87aee05ac50eb76bf3ec1b9ae9415e575ac5
CRs-Fixed: 774533
2018-01-30 23:55:11 -08:00
Paul Zhang
0f85b41310 qcacld-3.0: Setting the right country IE for SAP
Currently, when sap starts, it will get the default
country code for the country IE if 80211d enabled.
Using api wlan_reg_read_current_country() instead of
wlan_reg_read_default_country() to get the current
country.

Change-Id: I67e63630c56b17d0d6890704bc1852e40185cf48
CRs-Fixed: 2170425
2018-01-30 23:55:11 -08:00
bings
d79e606efb qcacld-3.0: Do not get nol since channel status of nol is disabled
Currently there is no need to get nol when removing nol from candidate
channel list, because status of nol is set to CHANNEL_STATE_DISABLE in
regulatory.

Remove channels whose status are CHANNEL_STATE_DISABLE when trying to
remove nol from candidate channel list.

Change-Id: I90722116814e837fca456de1b2ef88d8519e9aff
CRs-Fixed: 2180752
2018-01-30 23:55:08 -08:00
snandini
f8b24020e9 Release 5.2.0.63V
Release 5.2.0.63V

Change-Id: I641e0cfb41afd63aad5aadee1196fafec496fec1
CRs-Fixed: 774533
2018-01-30 21:28:53 -08:00
wadesong
a8637bb1b6 qcacld-3.0: Add more check points for SAP callback
When auth failure occures, hostapd will issue BSS stop
command, resulting in BSS peer deleted. After that, auth
frame may still get received, and SAP callback may still
access BSS peer object for remote peer creation, which
results in an assertion.

Add more check points to make sure SAP callback is
handling the peer object addition correctly based on
different status of SAP state machine.

Change-Id: Icdb7ae2db018f16cb60878bda8bab1e791667cba
CRs-Fixed: 2179494
2018-01-30 21:28:53 -08:00
snandini
34cc2d542c Release 5.2.0.63U
Release 5.2.0.63U

Change-Id: I3dbc1630f7348091d454490a61ec48486623ecda
CRs-Fixed: 774533
2018-01-30 14:40:55 -08:00
Vignesh Viswanathan
59f0fad8fe qcacld-3.0: Fix OOB write in WMA TX power level stats handler
In function wma_unified_radio_tx_power_level_stats_event_handler, radio_id
is received from the FW in the fixed_param strcutre and is used to access
the buffer wma_handle->link_stats_results which is allocated in
wma_unified_link_radio_stats_event_handler. The buffer is allocated for
link_stats_results->num_radio and if the radio_id received from the
FW is greater than link_stats_results->num_radio, an OOB write will
occur in wma_unified_radio_tx_power_level_stats_event_handler.

Add check to return failure if radio_id received from the FW is greater
than link_stats_results->num_radio.

Change-Id: I67a848e7ab137d46bb43e7336ff8135da257568c
CRs-Fixed: 2169104
2018-01-30 14:40:55 -08:00
snandini
2326e7bba3 Release 5.2.0.63T
Release 5.2.0.63T

Change-Id: If293a5a4c70757458d2d808f0ab4c81293e1089f
CRs-Fixed: 774533
2018-01-30 13:40:28 -08:00
hqu
71a1a3b3eb qcacld-3.0: Extend delay for acs_pending_work from 500ms to 1500ms
When start sap+sap with acs on 5g band concurrently, the first sap
usually choose dfs channel, the second sap will be failed to start.
Root cause is when start the second sap, bss hasn't been started for
the first sap.

Extend delay for acs_pending_work from 500ms to 1500ms, the first sap
bss will be started when start pending acs.

CRs-Fixed: 2175463
Change-Id: I723d18d72728a1f7a7cd7591395c12d950c535e9
2018-01-30 13:40:27 -08:00
snandini
f4273496d3 Release 5.2.0.63S
Release 5.2.0.63S

Change-Id: Ibdc431ce2d2dc8c5575cf7d74ab8cd69d04ce400
CRs-Fixed: 774533
2018-01-29 23:40:36 -08:00
Krunal Soni
ed3bc8ec9f qcacld-3.0: Set HW mode based on given channel in monitor mode
Current driver requires hardware mode to be changed to DBS explicitly
through private IOCTL commands before you can monitor 2.4G channel for
2x2 DBS platform.

Provide a fix which automatically switch the HW mode to DBS when
monitoring 2.4G channel 2x2 DBS platform and keep HW mode to SMM when
monitoring 5G channel.

CRs-Fixed: 2176055
Change-Id: Icc653d7b11c7e58b583e9cd23db6478f568bd172
2018-01-29 23:40:35 -08:00
Zhang Qian
47e22cefc3 qcacld-3.0: Add UCFG APIs and public structures for OCB
Add UCFG interface and public structures for OCB feature.

CRs-Fixed: 2177578
Change-Id: Id74df706e658568a0f50a8d953eca3993451f41a
2018-01-29 23:40:32 -08:00
Jiachao Wu
f610d91865 qcacld-3.0: Fix hdd_ctx NULL pointer dereference
Fix hdd_ctx and stainfo NULL pointer dereference in
DFS indicate radar function.

Change-Id: Ia74e9a99fd46095e9a474f668c3431e441a38d8a
CRs-Fixed: 2177004
2018-01-29 23:40:28 -08:00
snandini
80cde94de1 Release 5.2.0.63R
Release 5.2.0.63R

Change-Id: Ie2d72ca9b153e97a3f132b01973f89add4582cfc
CRs-Fixed: 774533
2018-01-29 19:44:02 -08:00
Yun Park
5dd9a120b7 qcacld-3.0: Protect peer info when getting vdev by sta_id
When getting vdev by sta_id, peer could be deleted after retrieved,
so garbage vdev is returned.
To protect peer info, increase ref_cnt and delete peer when the ref
count is 0.

Change-Id: I850d38166d7c16d7f5e580baf3e0d17db22583f8
CRs-Fixed: 2171619
2018-01-29 19:44:02 -08:00
snandini
1bd41532a7 Release 5.2.0.63Q
Release 5.2.0.63Q

Change-Id: I552fbf29b3f5cdb23dff56e7b7067ca04ba9fa52
CRs-Fixed: 774533
2018-01-29 17:48:38 -08:00
Dustin Brown
b277dd659e qcacld-3.0: Acquire pdev/psoc refs from HDD
Currently, HDD acquires an additional reference for vdevs it creates. Do
the same for pdevs and psocs, so they are not destroyed out from under
HDD.

Change-Id: Ifa89f3853f76fe98880f082a6a138068bf92b6ec
CRs-Fixed: 2179683
2018-01-29 17:48:36 -08:00
snandini
2d5211a0dc Release 5.2.0.63P
Release 5.2.0.63P

Change-Id: Ia2727d9e5575b260bfd47d016e1fe906d561b1a8
CRs-Fixed: 774533
2018-01-29 13:32:04 -08:00
Varun Reddy Yeturu
a93fa6f442 qcacld-3.0: Cleanup eWNI_SME_SET_BCN_FILTER_REQ
Currently, SME sends a eWNI_SME_SET_BCN_FILTER_REQ message
to PE which in turn builds a beacon filter request using
lim_send_beacon_filter_info and sends down a message to
WMA using WMA_BEACON_FILTER_IND. But, this message does
not have a handler in WMA. So, cleanup all these messages.

The beacon filtering is currently happening through
hdd_add_beacon_filter.

Change-Id: Id235d6303ce7c740f907147afc7248d833772067
CRs-Fixed: 2177429
2018-01-29 13:32:04 -08:00
snandini
175776658f Release 5.2.0.63O
Release 5.2.0.63O

Change-Id: I990ada4b8b12ddb93df5789cee7ac5d0662f8950
CRs-Fixed: 774533
2018-01-29 04:08:54 -08:00
Paul Zhang
99435e2e01 qcacld-3.0: Fix iwpriv wlan0 getChannelList issue
Currently, iwpriv wlan0 getChannelList does not show
the right channel list, because it gives wrong parameter
to the API wlan_reg_get_channel_state().

Change-Id: I03c8aa9583a827b94c8aa2fff0b94335f4a040de
CRs-Fixed: 2176844
2018-01-29 04:08:54 -08:00
Paul Zhang
e03cf4c140 qcacld-3.0: Insmod wlan driver with country code
Currently, "insmod qca_cld3_wlan.ko country_code=CN" will
be fail because start_modules_in_progress is true so api
hdd_update_country_code() returns error.

Change-Id: I4378438873ffa72c0fce415ade65b91b90e2c84a
CRs-Fixed: 2176836
2018-01-29 04:08:52 -08:00
snandini
9613834ed0 Release 5.2.0.63N
Release 5.2.0.63N

Change-Id: Ice0b595ef43b8b37e15cf45350a7237f011bffb0
CRs-Fixed: 774533
2018-01-29 02:17:37 -08:00
bings
1f98e9fa79 qcacld-3.0: Process radar event after getting vdev start response
Do not process radar event until receiving vdev start response, because
during channel switch, radar may be detected again in the old channel.

Change-Id: I1a524e38c25f91c684fd2c4962aeaf556d2445eb
CRs-Fixed: 2175891
2018-01-29 02:17:37 -08:00
snandini
bb61031c6b Release 5.2.0.63M
Release 5.2.0.63M

Change-Id: I0f9cf16d174e3433ae91a007144fad3fb325c7cb
CRs-Fixed: 774533
2018-01-28 19:32:01 -08:00
Frank Liu
c66d4bf13c qcacld-3.0: Fix TDLS timer leak when unloading
If firmware is stuck while driver unloading, sme_close_session
will return failure, and cause later timer leak, in this case
continue to release vdev.

Change-Id: I137d8d29ec18af1b222eb0b967916fa20b998894
CRs-Fixed: 2176949
2018-01-28 19:32:01 -08:00
snandini
b6da935127 Release 5.2.0.63L
Release 5.2.0.63L

Change-Id: Ib589e867924eeb0fd73abfa2199bc5ab32cff979
CRs-Fixed: 774533
2018-01-27 00:10:19 -08:00
bings
81fe50a9c4 qcacld-3.0: Restore WMI_DFS_RADAR_EVENTID for Rome FW
Currently WMI handler for WMI_PHYERR_EVENTID is used to handle DFS and
spectral scan phy errors; but Rome FW still uses WMI_PHYERR_EVENTID
and WMI_DFS_RADAR_EVENTID and does not have spectral scan phy errors.
Restore WMI_PHYERR_EVENTID and WMI_DFS_RADAR_EVENTID as Rome FW
requirement.

CRs-Fixed: 2149939
Change-Id: I7a5c4f723bedfdeb477ac36ac1290809ca06fb13
2018-01-27 00:10:18 -08:00
snandini
0258e08b4b Release 5.2.0.63K
Release 5.2.0.63K

Change-Id: I4769c776fa01eeef01fbcb5009ccbbe6f6c3ab10
CRs-Fixed: 774533
2018-01-26 21:26:48 -08:00
bings
10f2645d36 qcacld-3.0: Use iwpriv setRadarDbg to configure dfs log level
Use iwpriv command "setRadarDbg" to configure dfs log level because
MCL does not have tools to trigger dfs_control.

Change-Id: I2d7b30b026dfedbf03002463652fead83220fa2a
CRs-Fixed: 2178636
2018-01-26 21:26:47 -08:00
snandini
f78a501d3f Release 5.2.0.63J
Release 5.2.0.63J

Change-Id: Ia13739ffd06581d9c24be330b0d5e5e13f550a67
CRs-Fixed: 774533
2018-01-26 20:02:47 -08:00
Tushnim Bhattacharyya
691680ed4c qcacld-3.0: Trim the ACS scan channel list as per acs config
Trim the scan channel list for ACS based on the channel list provided
from user space as part of acs config.

Change-Id: Iaafa6f78098c59782478351e206ae360d50b89bc
CRs-Fixed: 2177457
2018-01-26 20:02:46 -08:00
snandini
2fed1ce045 Release 5.2.0.63I
Release 5.2.0.63I

Change-Id: I26b2742746e859fafe6d41b7e9f59579ed39c5f4
CRs-Fixed: 774533
2018-01-26 15:32:05 -08:00
Yun Park
6366101a84 qcacld-3.0: Fix NULL dereference of 'vdev' in txrx
Fix dereference of pointer 'vdev' before NULL check.

Change-Id: I3d0a71f4373ae83a8642e3f2b1907c4556b114cc
CRs-Fixed: 2162245
2018-01-26 15:32:04 -08:00
snandini
1cd48546b2 Release 5.2.0.63H
Release 5.2.0.63H

Change-Id: I5e559b43a426a272caa9f58baa739a758d901e1c
CRs-Fixed: 774533
2018-01-26 03:35:34 -08:00
Frank Liu
4362e46c32 qcacld-3.0: Add protections for accessing peer
Add necessary protections for accessing ol txrx peer:
1. Add protection when increase peer reference count;
2. Add protection when update vdev last peer.

Change-Id: I93628d8d2e34aac7ac041877310e0f430b8238bc
CRs-Fixed: 2166668
2018-01-26 03:35:33 -08:00
snandini
271285da9c Release 5.2.0.63G
Release 5.2.0.63G

Change-Id: I0e39c008940f50e3b3daa2a084623ec24ad040a2
CRs-Fixed: 774533
2018-01-26 01:39:28 -08:00
Jingxiang Ge
9f297069f8 qcacld-3.0: Fix race condition for get peer
There is a very rare race condition between
ol_txrx_peer_find_by_local_id_inc_ref(running in OL RX
thread context) and ol_txrx_peer_detach(running in MC
thread context) where MC thread 1st got chance and cleared
the peer->valid flag before OL RX thread can increment the
ref count and this led to OL RX thread got a peer without
any ref count which was freed later while OL RX thread was
still using it.

Change:
1 Set peer to NULL if peer valid check fails in
  ol_txrx_peer_find_by_local_id_inc_ref
2 release peer ref cnt for error case in ol_rx_data_cb

Change-Id: Id21350933386464e5814babcb078d9719572af86
CRs-Fixed: 2176704
2018-01-26 01:39:27 -08:00
snandini
27c61b9766 Release 5.2.0.63F
Release 5.2.0.63F

Change-Id: Ibde33d683c3fe60300144747b0e9967129eb8545
CRs-Fixed: 774533
2018-01-26 00:34:22 -08:00