Commit Graph

15414 Commits

Author SHA1 Message Date
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
Jianmin Zhu
e487f79e22 qcacld-3.0: Check concurrency before STA vdev start
Currently if there are 3 connections in MCC on same
MAC, FW asserts.
If there are several bssid for same ssid and channel id from wpa
supplicant is 0, driver will sort candidate AP and try one by
one, vdev start channel isn't decided until candidate is
selected, need do concurrency allow check at that time, or lead
to 3 connections on the same MAC.

STA+STA MCC on same MAC has no benefit,  total throughput is even
lower than single STA for channel switch frequently on same MAC.
so add check to disallow STA+STA MCC.

Change-Id: Id286096ea156915432807e42983c68cc83a8b42e
CRs-Fixed: 2545411
2019-10-17 22:46:48 -07:00
Tiger Yu
81a8073dcb Revert "qcacld-3.0: Featurize partial reorder properly"
The revert Change-Id: I1f3819fa093766abba87e5dc6dc44e6d2188740b

Inlucde the ol_rx_reorder.c for LL solution to avoid NULL pointer access
when handling the fragmentation frames.

Change-Id: I5182693437b00d4c8a932beb59fd03adea5ee8a1
CRs-Fixed: 2546353
2019-10-17 22:46:42 -07:00
nshrivas
af2e2645dc Release 5.2.0.153A
Release 5.2.0.153A

Change-Id: I3ee4a8813be30f9d887c34132ace45d827dfc74a
CRs-Fixed: 774533
2019-10-17 15:06:24 -07:00
Manjunathappa Prakash
458f6fe460 qcacld-3.0: Add changes to support qca6490
Add changes to support qca6490 chip.

Change-Id: I861d88f6c9aba5285eff17c188bf335d50839d56
CRs-Fixed: 2522129
2019-10-17 15:06:24 -07:00
nshrivas
d4665c4d52 Release 5.2.0.153
Release 5.2.0.153

Change-Id: I279ff78f663db5a08765b8ee5eeb78521a917c76
CRs-Fixed: 774533
2019-10-17 05:56:06 -07:00
Sourav Mohapatra
9a6d5e5e7c qcacld-3.0: Add proper rates for MCS9 in host table
Currently the MCS9 rates are not populated correctly in the host stored
MCS tables. The current rates entered are (1560, 1733) which is incorrect.

Since MCS9 is not defined in the spec but rather an internal
implementation, rectify the rates by confirmation from firmware team.
The new rates entered are (1730, 1920)

Change-Id: Idebc3afae8b1f251ea843b6578170e74f7152629
CRs-Fixed: 2517704
2019-10-17 05:56:05 -07:00
nshrivas
aeae2dfdc5 Release 5.2.0.152Z
Release 5.2.0.152Z

Change-Id: I59ef5adec3c83ec9e524f109776f7c7d7a208488
CRs-Fixed: 774533
2019-10-17 02:06:00 -07:00
Kiran Kumar Lokere
9d80ef65da qcacld-3.0: Enable AMSDU in AMPDU support only in 11ax
Advertise the Rx AMSDU in AMPDU support in addba response only
for 11ax connection when the connection is in 2.4G.

Change-Id: I3275f472503bc420b906f947b661490c3a52b670
CRs-Fixed: 2538118
2019-10-17 02:06:00 -07:00
nshrivas
64a3147e30 Release 5.2.0.152Y
Release 5.2.0.152Y

Change-Id: Ic7fa7f8c9415a065310fd9d587ca2b3ca884ccbc
CRs-Fixed: 774533
2019-10-17 00:41:10 -07:00
Sourav Mohapatra
5778c1db26 qcacld-3.0: Prevent possible NULL pointer dereference
The function wma_wake_event_piggybacked gets the pointer to pdev object
by calling cds_get_context with the respective module ID. This pdev
pointer is then passed on down the stack to CDP APIs where there are no
explicit NULL check to validate the same. In the case the pdev is NULL,
this can go on to cause a NULL pointer dereference.

Add a validation check on the PDEV pointer to avoid this.

Change-Id: Ifecd6853445c6df5e16e6310beb2bf7cbc6997a0
CRs-Fixed: 2524604
2019-10-17 00:41:10 -07:00
nshrivas
31b2b5aeb7 Release 5.2.0.152X
Release 5.2.0.152X

Change-Id: I6fc40f75778a32d174e8f85b78438baa2f612c8f
CRs-Fixed: 774533
2019-10-16 15:39:07 -07:00
nshrivas
11a71a065c Release 5.2.0.152W
Release 5.2.0.152W

Change-Id: I6b85844957f9bc0de47a06f466fe03823200f7cf
CRs-Fixed: 774533
2019-10-16 14:21:55 -07:00
Pragaspathi Thilagaraj
57de52771d qcacld-3.0: Send RSO stop for supplicant disabled roam
If supplicant disabled roaming, driver does not send RSO cmd to
fw. This causes roam invoke to fail in FW since RSO start never
happened at least once to configure roaming engine in FW.
So when supplicant disabled roaming on a vdev, send RSO start on
the vdev and then follow it with RSO stop command.

So when supplicant disabled roaming, disable the firmware
roam scans alone and allow roam invoke.

Change-Id: Ic3def72c6b60c42269d99e6db30cf3bfd1988d70
CRs-Fixed: 2543865
2019-10-16 14:21:55 -07:00
nshrivas
0efe854eed Release 5.2.0.152V
Release 5.2.0.152V

Change-Id: Ibd2515dbcc0934623ccf3041cbfff0b2e91880fa
CRs-Fixed: 774533
2019-10-16 12:55:37 -07:00
Sourav Mohapatra
b8e24b5b44 qcacld-3.0: Move stack allocations to heap
In function hdd_association_completion_handler, there are couple of
large stack allocated arrays defined. This leads to issues of stack
overflow in cases when the stack across the call stack exceeds limit.

Dynamically allocate and deallocate the variables to ensure that they
take no space in the stack.

Change-Id: Ia077e44d7458f160581e3e75564a77d25d20311a
CRs-Fixed: 2515106
2019-10-16 12:55:37 -07:00
nshrivas
2568ba72f6 Release 5.2.0.152U
Release 5.2.0.152U

Change-Id: I76d11cdaed6d06f850e5f670ad2070fd435982b5
CRs-Fixed: 774533
2019-10-16 11:18:16 -07:00
Vevek Venkatesan
b8e96629e3 qcacld-3.0: fix compile error in cdp_fc_get_tx_resource API
cdp_fc_get_tx_resource API is being called without passing
pdev handle, which mis-matches the prototype. Adding a fix
to include right arguments to passed, also removing static
from function ol_txrx_get_vdev_by_peer_addr to expose scope
outside the file, to fix compile errors.

Change-Id: I8089aa5df3a127b85236e69f8a84de7ebd09ec3f
CRs-Fixed: 2545857
2019-10-16 11:18:15 -07:00
nshrivas
1fc3693c1e Release 5.2.0.152T
Release 5.2.0.152T

Change-Id: Ic31ec49d36f2c8f20cb383caba2aabd0a6863704
CRs-Fixed: 774533
2019-10-16 05:19:14 -07:00
Abhinav Kumar
0bd30005a1 qcacld-3.0: update max_num_probes as per INI for Roam Scans
Currently, Host does not update value of max_num_probes and
roam_scan_home_away_time as per default value of INI. This
could leads to only one probe request being sent out during
roam scans which might reduce probability of finding candidates
on a particular channel.

Fix is to update value of max_num_probes and
roam_scan_home_away_time as per INI.

Change-Id: I2aaa302cec840967443dfbfb7ea93f2b5f2380cb
CRs-Fixed: 2545070
2019-10-16 05:19:14 -07:00
nshrivas
8002381c13 Release 5.2.0.152S
Release 5.2.0.152S

Change-Id: Ie37679b73d2f54d25e8b34d9e6632174000f4734
CRs-Fixed: 774533
2019-10-16 03:34:47 -07:00
Will Huang
4b097f5add qcacld-3.0: Replace channel number by channel frequency
To support 6Ghz channel, update channel number of struct
sap_StartBssCompleteEvent_s, hdd_ap_ctx and sap_ch_selected_s.

Change-Id: I19e6d7d03072135abed25e077e8573b5326ddba8
CRs-Fixed: 2519308
2019-10-16 10:07:17 +08:00
nshrivas
34eadc61ed Release 5.2.0.152R
Release 5.2.0.152R

Change-Id: I0294bd415260b56bc8937ded1123fce8f7f20dab
CRs-Fixed: 774533
2019-10-15 09:31:29 -07:00
Chaoli Zhou
98d1b3ead1 qcacld-3.0: Fix ROME SAP connection failure issue
For ROME SAP connection phase, we should post the
eWNI_SME_ASSOC_IND_UPPER_LAYER to the queue after
finish sending out the association response frame
for other thread to handle it, otherwise using sme
callback handler in the irq thread will make it has
QDF ASSERT issue in the qdf_mutex_acquire. And the
call sequence that cause the assert like this:
__do_softirq -> ce_engine_service_reg ->
htc_rx_completion_handler -> htt_t2h_msg_handler
-> ol_tx_single_completion_handler ->
ol_tx_desc_frame_free_nonstd ->
tgt_mgmt_txrx_tx_completion_handler ->
lim_assoc_rsp_tx_complete -> sme_process_msg ->
qdf_mutex_acquire.
Meanwhile, lim_assoc_ind will be free in the
lim_assoc_rsp_tx_complete, but it still need to
be used for sme_assoc_ind->assocReqPtr in the
lim_fill_sme_assoc_ind_params, which cause the
assoc req pass to hostapd should be NULL, fix
such issue.

Change-Id: I390224ba64ea6cd963630de5b360e7b5e74a4d10
CRs-Fixed: 2542880
2019-10-15 09:31:29 -07:00
nshrivas
c0ddbee65a Release 5.2.0.152Q
Release 5.2.0.152Q

Change-Id: I90ba19f25d1e1c1db36b53250a26989b16fca2a7
CRs-Fixed: 774533
2019-10-15 08:10:09 -07:00
Liangwei Dong
8ffc0cc3ec qcacld-3.0: Use wlan_reg_set_channel_params_for_freq for SAP
Use wlan_reg_set_channel_params_for_freq to update SAP channel
parameters. The "freq" version API can handle 6GHz channel properly.

Change-Id: I519de47d4ec1fa1351b120f2faa9f23de1064493
CRs-Fixed: 2536568
2019-10-15 08:10:08 -07:00
nshrivas
a22d72328a Release 5.2.0.152P
Release 5.2.0.152P

Change-Id: I708749327d40a530ac6862b3c7145a7d13937703
CRs-Fixed: 774533
2019-10-15 06:44:48 -07:00
gaurank kathpalia
c0d0841183 qcacld-3.0: Normalize the channel weights according to ini
Normalize the weights of the frequencies for ACS scan
if the user has changed them in the ini.
This is done as legacy devices wont be able to scan
the newly added 6ghz frequencies, and thus wont
be able to associate with the SAP if it starts
on 6ghz channels.

Change-Id: I2dd2f706c248f5339bde06963540d0874d08b847
CRs-Fixed: 2543007
2019-10-15 06:44:48 -07:00
Abhishek Singh
41776ce6b4 qcacld-3.0: Add vdev info in connect and disconnect info logs
Connect and disconnect info logs doesn't have vdev related info
and thus it become difficult to know for which interface the
req is received from logs in STA+STA case.

Change-Id: I8a8e83e1ee82614c06d736542e9be5f93308a6a1
CRs-Fixed: 2545444
2019-10-15 06:44:44 -07:00
nshrivas
b1344d13a8 Release 5.2.0.152O
Release 5.2.0.152O

Change-Id: If29c9859562979b3770bee5b42dc93482a65397e
CRs-Fixed: 774533
2019-10-15 05:16:26 -07:00
hqu
37c8b81fc3 qcacld-3.0: Add 11ax mode to non legacy phymode
Driver will set 11ax mode to legacy phymode currently, so it
will report no HT capability to hostapd, it's wrong.

11ax mode can support HT capability, fix is to set 11ax phymode
to non legacy.

Change-Id: Id8dce7eba9f5d986c57242242a7376d19e98eb3f
CRs-Fixed: 2503202
2019-10-15 05:16:25 -07:00
Abhishek Ambure
6a2773e4a4 qcacld-3.0: Replace WLAN_PHY_MODE with enum wlan_phymode
enum wlan_phymode is the enum to store the phymode in host
and thus replace WLAN_PHY_MODE with enum wlan_phymode
and add the corresponding change in the code to use
enum wlan_phymode.

Change-Id: I6c7990255f193eb3afdeeb278d3cc159ef8503b1
CRs-Fixed: 2544822
2019-10-15 05:16:19 -07:00
Lin Bai
7c3d0c45db qcacld-3.0: Fix CFG_RX_MODE_DEFAULT redefined error
SDX55 defined both MDM_PLATFORM and FEATURE_WLAN_DP_RX_THREADS,
and this is causing redefined issue.

Change-Id: I1427be477dd3832b98332c9edaa4063b8c573ae4
CRs-Fixed: 2542264
2019-10-15 05:16:12 -07:00
nshrivas
32fd4e8667 Release 5.2.0.152N
Release 5.2.0.152N

Change-Id: Ie1ceee72bbd8ffeb332bfb49728157d2dc8c3c9c
CRs-Fixed: 774533
2019-10-15 02:30:09 -07:00
Mohit Khanna
58a898ba9e qcacld-3.0: Use pm_qos only at high bandwidth
Currently we use PM qos apis to set masks and latency values at
PLD_BUS_WIDTH_LOW throughput level. As per experiments and power
measurements, this can also be done at the PLD_BUS_WIDTH_MEDIUM level
without any throughput impact and can help CPU enter C4 states at this
level.

Hence, donot use pm-qos APIs at less than high throughput levels.

Change-Id: I8bebb3b593b9d26aa6764b16b218814979bcd322
CRs-Fixed: 2507386
2019-10-15 02:30:09 -07:00
Arun Kumar Khandavalli
378b7ee6a4 qcacld-3.0: Remove block/unblock shutdown cb
Modem block/unblock shutdown callbacks are added to synchronize
modem shutdown when the driver is in deinit sequence.

With new changes everything is synchronized via the platform driver,
So remove the the block/unblock shutdown callback's.

Change-Id: If66eed5b51bbce64f024edf49e37a21b222a6a4c
CRs-Fixed: 2489733
2019-10-15 02:30:04 -07:00
nshrivas
541afcdd7c Release 5.2.0.152M
Release 5.2.0.152M

Change-Id: I324a130f4712663dfbd03ce3fc7ffd66e745c291
CRs-Fixed: 774533
2019-10-15 00:49:06 -07:00
Liangwei Dong
1f41f4f984 qcacld-3.0: Extract and add Advertisement Protocol IE
Extract and add Advertisement Protocol IE from hostapd.
MBO AP needs to report the ANQP supported in Advertisement
Protocol IE.

Change-Id: I5d7bb650de7626f568c1868775a665eff2305647
CRs-Fixed: 2530870
2019-10-15 00:49:06 -07:00
Sourav Mohapatra
c320ada27c qcacld-3.0: Move cache sta info to hash based
Currently in hdd_adapter, the variable cache_sta_info is an array of
hdd_station_info structured indexed by the sta_id. As sta_id is no
longer used, this array based implementation becomes unnecessary.

Move the sta_info implementation to a hash table implementation.

Change-Id: Iac11ecd2ae4a454649235cf8763e9a5f80e7eb38
CRs-Fixed: 2515316
2019-10-15 00:48:59 -07:00
Sourav Mohapatra
43e6dea453 qcacld-3.0: Move sta_info from array based to hash based
Currently in hdd_adapter, the variable sta_info is an array of
hdd_station_info structured indexed by the sta_id. As sta_id is no
longer used this array based implementation becomes unnecessary.

Move the sta_info implementation to a hash table implementation.

Change-Id: I7d6fe04b7e0ab22615d431de9a10a4ad38ed65ba
CRs-Fixed: 2514280
2019-10-15 00:48:54 -07:00
nshrivas
c65a60b93b Release 5.2.0.152L
Release 5.2.0.152L

Change-Id: I969c7df7d0ece78a92a736733083221c528739ef
CRs-Fixed: 774533
2019-10-14 23:04:57 -07:00
nshrivas
181ea3a9ed Release 5.2.0.152K
Release 5.2.0.152K

Change-Id: Idf145e2792f7f1aba2436eb8bdea6c69cb62df4c
CRs-Fixed: 774533
2019-10-14 19:12:14 -07:00
Bala Venkatesh
805a4a6f02 qcacld-3.0: Return success status for stop_ap
After SSR the vdev id in P2P GO adapter can become invalid.
So return success status in stop_ap to kernel for proper
cleanup.

Change-Id: I20aa0873e6aa199749c1cbabd098a581500bebce
CRs-Fixed: 2527535
2019-10-14 19:12:14 -07:00
nshrivas
d839865be0 Release 5.2.0.152J
Release 5.2.0.152J

Change-Id: Iba8a356afec9924169a7d5f74e101037de2c6880
CRs-Fixed: 774533
2019-10-14 17:44:49 -07:00
Manikandan Mohan
8773b5ccc7 qcacld-3.0: Update HDD channel validation for frequency
Due to channel number duplication with introduction of 6Ghz band
support update hdd channel validation function to check channel
frequency instead of channel number. Also remove channel references
in start_bss path.

Change-Id: I5f37524b71a2b224ca79b0f67f871e50523e16be
CRs-fixed: 2545103
2019-10-14 17:44:49 -07:00