Commit Graph

19344 Commits

Author SHA1 Message Date
Wu Gao
7d07763083 qcacld-3.0: Remove CFG_CFR_ALL
Remove CFG_CFR_ALL from CFG_ALL and avoid duplicate definition, since
WIN needs it and add it to CFG_CONVERGED_ALL by another change.

Change-Id: I4fe82573d069a06bf130937a3e38d045bb80c695
CRs-Fixed: 2673162
2020-05-03 18:18:42 -07:00
nshrivas
ee958896f8 Release 5.2.0.184E
Release 5.2.0.184E

Change-Id: Ib31cccf7437469846c810a09f509bfc5f0c37e70
CRs-Fixed: 774533
2020-05-03 13:43:32 -07:00
Arun Kumar Khandavalli
32de55112c qcacld-3.0: Free the beacon memory when sap restart fails
Whenever there is a subsystem restart the sap is internally restarted
in the driver, whenever there is a failure during this sap restart
there could be a memory leak.

Fix is to free the beacon memory whenever the sap restart fails.

Change-Id: If329aacceef50124956bddc049ee8e55e880177d
CRs-Fixed: 2671251
2020-05-03 13:43:32 -07:00
nshrivas
93a3a15e36 Release 5.2.0.184D
Release 5.2.0.184D

Change-Id: Icd18164fc04409f31359605accda81d37af9f293
CRs-Fixed: 774533
2020-05-03 12:00:48 -07:00
Vevek Venkatesan
dd3189d379 qcacld-3.0: introduce DP soc pdev init/deinit sequence
DP init/deinit flow to have dp_soc_init/dp_pdev_init
APIs where it takes care of initializing rings,
descriptors and DP data structures that was earlier
done as part of dp_soc_attach/dp_pdev_attach itself

This is to maintain symmetry across wifi load/unload

wifi load to call:
	1. dp_soc_attach
	2. dp_soc_init
	3. dp_pdev_attach
	4. dp_pdev_init

wifi unload to call:
	1. dp_pdev_deinit
	2. dp_pdev_detach
	3. dp_soc_deinit
	4. dp_soc_detach

Change-Id: I5889e0eafdb2fa6319c440725590e7a3014d8be0
CRs-Fixed: 2674081
2020-05-03 12:00:48 -07:00
nshrivas
e589066679 Release 5.2.0.184C
Release 5.2.0.184C

Change-Id: If19937180de9f3fb84baa8cb65f48a8744c153ab
CRs-Fixed: 774533
2020-05-02 11:10:00 -07:00
gaurank kathpalia
83e526cc1a qcacld-3.0: Advertise 40, 80, 160, 80+80 caps in wiphy
Currently driver does not advertise the bandwidth
capability for 5ghz band in the he capability
structure of wiphy, result of which is supplicant
is unable to turn on P2P-GO interface in HE40, 80
mode.

Fix is to advertise that the driver supports all
the bandwidths in HE mode which is supported by FW.

Change-Id: Ie94ad9784243ce1f562938b1a50c53f3a25db834
CRs-Fixed: 2673025
2020-05-02 11:10:00 -07:00
Rachit Kankane
51b1051f5f qcacld-3.0: Check for NULL pointer
Check for NULL pointer before accessing.

Change-Id: I7916a475be98cb63cc8569f8eba022d5b49f5c10
CRs-Fixed: 2669232
2020-05-02 11:09:55 -07:00
nshrivas
5f8eb0fa98 Release 5.2.0.184B
Release 5.2.0.184B

Change-Id: I85325744daeda0a431c5d863bfc76ded4bd4a3e9
CRs-Fixed: 774533
2020-05-02 09:22:13 -07:00
gaurank kathpalia
78c446da43 qcacld-3.0: Update bss rate flags after CSA
Currently the driver does not update the peer
rate flags after CSA and hence the rates and
link speed are wrong.

Fix is to update the rate flags after CSA so
that the reported link speed now is correct.

Change-Id: Idb51447b98acc281625d1ed0dae983fe2da2426a
CRs-Fixed: 2669792
2020-05-02 09:22:12 -07:00
nshrivas
02aaa26ed7 Release 5.2.0.184A
Release 5.2.0.184A

Change-Id: Ie1f40ec2ba27f0a6c52185c5cc3ad8183f59028b
CRs-Fixed: 774533
2020-05-02 04:27:22 -07:00
Mohit Khanna
ed577367b4 qcacld-3.0: Check hdd_ctx for null in hdd_get_bandwidth_level
Check for hdd_context validity before accessing current throughput level
in hdd_get_bandwidth_level.

Change-Id: I8cb3a0e484e4350938e28c4f704498aa24ed2c14
CRs-Fixed: 2669231
2020-05-02 04:27:22 -07:00
Ashish Kumar Dhanotiya
fc55b957c8 qcacld-3.0: Pass frequency as an argument to set mon chan api
With recent 6GHz changes set mon chan api has changed to accept
the frequency as an argument instead of the channel number.
Currently existing iwpriv interface is still passing channel
number as an argument to this api which results in the failure
of this command.

To resolve this above issue, convert the channel number received
as an argument to frequency at the entry point of the iwpriv
command and invoke set mon chan api with the fequency as an
argument.

Change-Id: I6bb0682ff3cf5c6e8086012522ea1455a1cecae4
CRs-Fixed: 2675499
2020-05-02 04:27:17 -07:00
Lincoln Tran
92ab495e37 qcacld-3.0: Fix potential NULL pointer dereference
Add check to ensure context pointer is not NULL before dereferencing

Change-Id: I737ae4d1e5aa07bcbbe612a93905a23fa857b90a
CRs-fixed: 2669214
2020-05-02 04:27:13 -07:00
nshrivas
dbb00f0073 Release 5.2.0.184
Release 5.2.0.184

Change-Id: I04b69a7c79dc2b4b3d04eab3cc22e37f74394cce
CRs-Fixed: 774533
2020-05-02 01:13:19 -07:00
Kiran Kumar Lokere
a49d6b9742 qcacld-3.0: Fix the HE 160MHz BW related capability settings
Reset the HE 160MHz bandwidth related capabilities if the
connection mode has lower bandwidth.
Set the 160MHz support in HE channel width capability if
AP is 160MHz capable and current operating mode is 80MHz.

Change-Id: Iddb678ac7543875a3a7d15bb38e13dd27086360b
CRs-Fixed: 2674741
2020-05-02 01:13:19 -07:00
Utkarsh Bhatnagar
4d187fa0f2 qcacld-3.0: Consider self capability in RSN caps
RSN caps are anded with AP RSN caps, but it should be self caps.
Due to this even when PMF required is configured in self capability
while connecting to non pmf required AP, self cap doesnt include
self capability of pmf required.

So do not and RSN's self caps with AP's caps

Change-Id: Iae84486e13859fc8deb342d7b774129dc26ae323
CRs-Fixed: 2676337
2020-05-02 01:13:15 -07:00
nshrivas
c2557606a0 Release 5.2.0.183Z
Release 5.2.0.183Z

Change-Id: Ida40be8dd5835bd71fe11b76595f65841e81f305
CRs-Fixed: 774533
2020-05-01 21:51:03 -07:00
Bapiraju Alla
954de3b680 qcacld-3.0: Check for fw down during runtime suspend
Currently there is no check for fw down during runtime suspend. This is
causing issue when host has already received fw down event due to
injected fw crash.

To avoid this, add check for fw down during runtime suspend.

Change-Id: Ic518f7fc95fa3ff9f9a3bd8973e9e37e9ebcf52f
CRs-Fixed: 2676841
2020-05-01 21:51:02 -07:00
nshrivas
b6176f2a84 Release 5.2.0.183Y
Release 5.2.0.183Y

Change-Id: Iafa36fc662d7a165df41421b6ab93d0e2d5d305a
CRs-Fixed: 774533
2020-05-01 17:52:46 -07:00
Ashish Kumar Dhanotiya
7a02ceac3b qcacld-3.0: Validate he operation info before nla put
Currenly when driver receives get station info command in
in sta mode, he operation information is also copied to the
response buffer. Host does not validate he operation info
and tries to do nla put which is leading to NULL pointer
dereference.

To address above issue, add a check to validate the he operation
info before nla put operation.

Change-Id: Iaa093e4d4e3a9cec978f16c69a66c778b2dcf79f
CRs-Fixed: 2676773
2020-05-01 17:52:46 -07:00
nshrivas
9c1fed8a16 Release 5.2.0.183X
Release 5.2.0.183X

Change-Id: I391dc85bfff68b5c0eb925eedbf257fd24347d17
CRs-Fixed: 774533
2020-05-01 12:49:13 -07:00
Jingxiang Ge
d364508056 qcacld-3.0: Check minimum value of debugfs file
Add checking minimum value to avoid reading
garbage data.

Change-Id: I30541a8b081a67b1a04774545a2879aadab5f8ac
CRs-Fixed: 2676019
2020-05-01 12:49:13 -07:00
nshrivas
b850d2570a Release 5.2.0.183W
Release 5.2.0.183W

Change-Id: If533e6c4850535d4b24af756365ac39fd404b60c
CRs-Fixed: 774533
2020-05-01 08:44:04 -07:00
Utkarsh Bhatnagar
a07afa12be qcacld-3.0: Increased logging in wlan_hdd_cfg80211_channel_switch
Added debig logs in __wlan_hdd_cfg80211_channel_switch and in
wlansap_set_channel_change_with_csa

Change-Id: Idf0f29f21d879e32a0ad8e1db25fc8360ec36800
CRs-Fixed: 2676407
2020-05-01 08:44:04 -07:00
nshrivas
fedb093e42 Release 5.2.0.183V
Release 5.2.0.183V

Change-Id: Ib79454449de1b41a7a8014f1e53846f9dff88c1a
CRs-Fixed: 774533
2020-05-01 05:14:57 -07:00
Liangwei Dong
4c11f80dcb qcacld-3.0: Refine Max chanwidth selection for SAP chanswitch
Remove the calls to wlan_reg_dmn_get_opclass_from_channel API
when SAP is changing channel by ECSA/CSA.
The API accepts channel number and will cause issue when 6GHz
band is supported in target.

Change-Id: Ib6c67417f1a0edae88b5e714e3ed23c589e7eb62
CRs-Fixed: 2676354
2020-05-01 05:14:57 -07:00
nshrivas
f79c50add5 Release 5.2.0.183U
Release 5.2.0.183U

Change-Id: Ice438805e3d17bbb83a64e82f9412accf3aacaf0
CRs-Fixed: 774533
2020-04-30 16:36:38 -07:00
Abhinav Kumar
d0a51da88b qcacld-3.0: Don't send disassoc frame to fw in case of HO failure
In the case of roaming failure, FW sends HO fail indication to host
and initiates peer deletion in fw. Host should not queue deauth
frame to fw in case of HO_FAILURE.

Due to commit id I99bf4573b59dc810e0a1529fcd48061d10acae4e, host
sends a disconnect request to fw as part of HO failure handler.
There could be a possibility that host queue disconnection frame
after the vdev down in fw. This leads to assert in fw.

Fix is to set process_ho_fail variable in disassociation request
to true in case of ROAM_FAILURE. This flag tells LIM whether to
send the disassoc req OTA or not.

Change-Id: Ia504ff3ba8b07fcf66226b588eed379a71e2b896
CRs-Fixed: 2674297
2020-04-30 16:36:38 -07:00
nshrivas
762db41930 Release 5.2.0.183T
Release 5.2.0.183T

Change-Id: I52a09ad20b1ece3ba3c338ad0bdd161de57f7cb6
CRs-Fixed: 774533
2020-04-30 07:53:33 -07:00
Utkarsh Bhatnagar
316ca349b3 qcacld-3.0: Added logs in policy_mgr_is_concurrency_allowed
Increased logging in policy_mgr_is_concurrency_allowed
by adding debug logs in policy_mgr_allow_multiple_sta_connections
and policy_mgr_is_6g_channel_allowed.

Change-Id: Ic285566209b4d63df579913e7390c48891a04855
CRs-Fixed: 2674968
2020-04-30 07:53:33 -07:00
nshrivas
97e5ad7191 Release 5.2.0.183S
Release 5.2.0.183S

Change-Id: I44d8d722ac1d59a6b721b2eb04ac462434ce809f
CRs-Fixed: 774533
2020-04-30 05:23:22 -07:00
Yeshwanth Sriram Guntuka
bcb4c0db1c qcacld-3.0: Reject set_nud_stats request during roaming
Set_nud_stats request is received at driver when
roaming is in progress. WMI command sent for this
request causes an assert in firmware.

Fix is to reject set_nud_stats request received during
roaming.

Change-Id: I41e3b665ef02abcac5b59ce151c3938497be6283
CRs-Fixed: 2674624
2020-04-30 05:23:22 -07:00
nshrivas
b89ccc3732 Release 5.2.0.183R
Release 5.2.0.183R

Change-Id: I39552b9827e2ccac4b36f0e1c0d1b1aa6c411c64
CRs-Fixed: 774533
2020-04-30 03:35:11 -07:00
Vevek Venkatesan
3acd66498f qcacld-3.0: add NULL check before soc dereference
This is to fix the error of missing soc NULL check.
Before dereferencing soc for decoding pdev handle,
add the NULL check for soc.

Change-Id: Idade64fd88790e9a6faffceb99fc42dcd683677d
CRs-Fixed: 2668317
2020-04-30 03:35:11 -07:00
nshrivas
9fb79b9693 Release 5.2.0.183Q
Release 5.2.0.183Q

Change-Id: I12fe20efdb3d06fef0ac2ea6e7363d8d0770da53
CRs-Fixed: 774533
2020-04-30 00:12:27 -07:00
Jingxiang Ge
83b1033055 qcacld-3.0: Return EAGAIN in wlan_hdd_pld_runtime_suspend
If fw is down when runtime pm, runtime pm will return EFAULT
to kernel, so kernel will treat it as a critical error so all
future runtime PM API calls will return error, this is not what
driver expected.

Always make sure driver only return EAGAIN or EBUSY to kernel.

Change-Id: I651f75ee615af819a080e2955ac64a986620375f
CRs-Fixed: 2674531
2020-04-30 00:12:27 -07:00
nshrivas
d22127914e Release 5.2.0.183P
Release 5.2.0.183P

Change-Id: I5e30b548e5a78d8b5d81eabd7e6e5d2c7555d059
CRs-Fixed: 774533
2020-04-29 17:56:02 -07:00
gaurank kathpalia
e9f6e25870 qcacld-3.0: Remove unlink BSS from CSA handler
Kernel includes the BSS entry in to the following
data structures.
1. bss list rdev->bss_list
2. bss search tree rdev->bss_tree
It also stores the pointer of the connected bss in
“current_bss” .
If the driver does an unlink of the bss it deletes
the entries from the above data structures,
but does not update the current_bss data structure.
This leaves the current_bss pointing to the
previous deleted bss entry.
Thus, when the next set of newly found bss entries
start finding for the bss entries in the bss_tree,
the comparison with the already freed bss entry
above shall lead to an invalid access.

Fix is to remove unlink BSS from the channel change
notify path as the kernel can take care of it.

Change-Id: Ic0dfa6423db169e63ac80cd5a0f3ce05f0438c5d
CRs-Fixed: 2673629
2020-04-29 17:56:02 -07:00
nshrivas
6eb2803e16 Release 5.2.0.183O
Release 5.2.0.183O

Change-Id: I8bd9047e5889a0e325c6e7357a398ff00682b5bf
CRs-Fixed: 774533
2020-04-29 16:03:18 -07:00
Yeshwanth Sriram Guntuka
3e843a398f qcacld-3.0: Set is_eapol and is_dhcp to false for each skb
On receiving nbuf list in hdd_rx_packet_cbk, is_eapol and
is_dhcp flags are set to false only initially. In the
loop over all skbs, if any one of these flags is set to
true, these flags are not reset for each skb leading to
incorrect stat values and possible OOB access to rx_delivered
and rx_refused array.

Fix is to set is_eapol and is_dhcp flag to false in the
beginning of the nbuf loop.

Change-Id: Iacc7620f26fb0f71dee931c78993a75232e767b0
CRs-Fixed: 2669412
2020-04-29 16:03:17 -07:00
nshrivas
453978181a Release 5.2.0.183N
Release 5.2.0.183N

Change-Id: Ied15682109dc2261b6637b78e39a5c7316a6fb11
CRs-Fixed: 774533
2020-04-29 08:19:33 -07:00
Arun Kumar Khandavalli
8d1af37af9 qcacld-3.0: stop the bus bw timer during the driver unload
When the driver unload is triggered, the device could be in the
runtime suspend state, so the 1st thing driver does to do runtime
resume, During this runtime resume the bus bw timer could be started
which in some race conditions is not getting stopped.

Stop the bus bandwidth timer after the wlan chip is runtime resume.

Change-Id: Ie29f9b4d44cea5c5624020aa3b6b3f08489860d3
CRs-Fixed: 2672120
2020-04-29 08:19:33 -07:00
Abhishek Singh
758eff24ba qcacld-3.0: Use new enum to check the max percentage for the score
Use new enum to check the max percentage for the score.

Change-Id: I7a040f7604a426d659e732c2853fbacc2b6a5a35
CRs-Fixed: 2673982
2020-04-29 08:19:28 -07:00
nshrivas
5632b4865b Release 5.2.0.183M
Release 5.2.0.183M

Change-Id: Iac836e188bb8680c36ca3942f4881b7b33293abb
CRs-Fixed: 774533
2020-04-29 06:29:26 -07:00
Sourav Mohapatra
d8608e5f8c qcacld-3.0: Modify datastructure of sta_info from hash table to list
For each peer connected to SAP, there is a corresponding entry maintained
in HDD called station_info. Currently, this data is being stored as a
hash table. There are two primary complications in using a hash table
in this scenario:

	- The max peers supported are 32. This is a very small number to
	  use a hash table for. The minute time complexity gains for a
	  fetch/insert operation do not justify the implementation
	  complexity.

	- The hash table is being implemented with the use of kernel ht
	  APIs. These do not provide the granularity to achieve proper
	  synchronization as is needed in driver.

To address the above points, move the storage of sta_info from hash
table to linked list. This will provide simpler implementation and also
give access to using proper synchronization methods.

Change-Id: I7d3a8a2937048f29a867453a91dfc1864932619e
CRs-Fixed: 2668300
2020-04-29 06:29:26 -07:00
Vevek Venkatesan
7df42ef747 qcacld-3.0: use adapter's vdev_id instead of vdev dereference
This is to fix the error of missing vdev NULL check.
Instead of dereferencing vdev to get the vdev_id, can directly
use adapter's vdev_id, so that can avoid unnecessary vdev NULL
check and lesser operation.

Change-Id: I7d84046c405a82cd6967a8d79142acd5618e18db
CRs-Fixed: 2669233
2020-04-29 06:29:21 -07:00
vtanuku
c8ef7c5577 qcacld-3.0: Fix KW issue, initialize therm_data to zero
Fix KW issue: therm_data.levelconf array elements are used uninitialized

Initialize therm_data in wma_update_thermal_mitigation_to_fw to zero

Change-Id: I40c4f57d70036956d0d618ad560ea9ea0f7dc07d
CRs-Fixed: 2669375
2020-04-29 06:29:15 -07:00
nshrivas
346343f367 Release 5.2.0.183L
Release 5.2.0.183L

Change-Id: Iefa760d482fd2ea29cc4c9550febe1a612ce69a7
CRs-Fixed: 774533
2020-04-28 21:22:52 -07:00
Li Feng
83c1ae66b8 qcacld-3.0: Add sanity check for allocated mac address
The mac address as pointer which is allocated by
wlan_hdd_get_intf_addr() may be null, and there is risk
about null pointer dereference without sanity check.

The fix is to add necessary null pointer check.

Change-Id: Ie0c3f841174e78b0d0b35e321ef7ca6b4cfdbe9a
CRs-Fixed: 2673727
2020-04-28 21:22:52 -07:00