Commit Graph

18942 Commits

Author SHA1 Message Date
Qun Zhang
b4e2c33bab qcacld-3.0: Replace QDF_MAX_NUM_CHAN/POLICY_MGR_MAX_CHANNEL_LIST with NUM_CHANNELS
Currently QDF_MAX_NUM_CHAN/POLICY_MGR_MAX_CHANNEL_LIST aren't aligned with
NUM_CHANNELS, these unalignment may cause some potential OOB access.
So replace QDF_MAX_NUM_CHAN/POLICY_MGR_MAX_CHANNEL_LIST with NUM_CHANNELS
to keep unified.

Change-Id: Ib6c81a3979f2fd29ba1ec678f018a6704b599385
CRs-Fixed: 2644066
2020-03-25 07:08:36 -07:00
nshrivas
12d5bdc2e2 Release 5.2.0.177W
Release 5.2.0.177W

Change-Id: I60db9b7e71596675b639a0ec05988032935a34fd
CRs-Fixed: 774533
2020-03-24 19:57:07 -07:00
Liangwei Dong
1a4edd541e qcacld-3.0: Process request of send delba indication
Handle send delba indication from DP. It will help DP to
do aggregation tid management.

Change-Id: I18455107ef8d042644efc8ce549a104612eec05c
CRs-Fixed: 2637485
2020-03-24 19:57:06 -07:00
nshrivas
28c369d508 Release 5.2.0.177V
Release 5.2.0.177V

Change-Id: I3cb74c6d3ea0384a3b1a1ab2f6209d3f0ea4a9bf
CRs-Fixed: 774533
2020-03-24 18:13:43 -07:00
Jianmin Zhu
2fa866e49d qcacld-3.0: Assert for PMF peer isn't added to data path
During assoc of new peer on vdev 0 as vdev 1 has the same entry,
peer is removed from vdev 1 with trigger reason
eLIM_DUPLICATE_ENTRY. Once the peer deleted, it is added in
firmware and datapath on the new vdev 0.The add logic checks if
peer is non PMF, but here peer is PMF, then the peer is not
added to datapath and firmware. Assert will happen when deleting
it as entry is present in LIM but not in data path.

Fix: On deletion of peer on other vdev1, if peer is added in
lim on new vdev 0, add it in datapath and firmware even if it's
PMF peer.

Change-Id: I00241ae3886ae7541a68c4bc69b616dfe96948e5
CRs-Fixed: 2646623
2020-03-24 18:13:43 -07:00
nshrivas
4b67f8a0f6 Release 5.2.0.177U
Release 5.2.0.177U

Change-Id: I764327643cc33a8c8a43e706426a89b4efd18f1d
CRs-Fixed: 774533
2020-03-24 16:37:46 -07:00
gaurank kathpalia
bcc6349b04 qcacld-3.0: Fix compilation failure
Fix compilation failure in hdd_update_wiphy_he_cap

Change-Id: I79820ab13af58c4bf0a5fa176accfa2cbdb28180
CRs-Fixed: 2647725
2020-03-24 16:37:46 -07:00
nshrivas
99159734a3 Release 5.2.0.177T
Release 5.2.0.177T

Change-Id: I68aac558869a50215d74e4f8a8855a623b3cc448
CRs-Fixed: 774533
2020-03-24 10:23:48 -07:00
Sourav Mohapatra
698d9392c3 qcacld-3.0: Add Q-Q feature 4K QAM (MCS12/MCS13) support
Add host driver support for MCS 12/13, a Q-Q PHY feature.
The following changes are being introduced as a part of this
 - Advertisement of the MCS 12/13 using the QCN IE
 - Interaction between the Host and the FW regarding the target and
   peer capabilities for the new features introduced.
 - The new data structures and variables to populate and use the feature
   capability
 - Routines to add and parse the IE.

Change-Id: I2b91a271d30b1230ef7bb14ee08d0b9da2706db4
CRs-Fixed: 2610277
2020-03-24 10:23:48 -07:00
nshrivas
8a345adcda Release 5.2.0.177S
Release 5.2.0.177S

Change-Id: I2303e24931f628f5265154a1dda0c7853a3090ff
CRs-Fixed: 774533
2020-03-24 06:42:38 -07:00
Sandeep Singh
2ded622993 qcacld-3.0: Avoid softlink creation for ini
In ODM specific targets false softlink is getting created for
ini file from vendor partition. Correct softlink for ini on odm
specific targets is created from odm partition. So, Avoid softlink
creation for ini from vendor partition on ODM specific targets.

Change-Id: I2ddf7d8b67d90106686c6a8118d0109fb8be72af
CRs-Fixed: 2641694
2020-03-24 06:42:37 -07:00
Kiran Kumar Lokere
1107eeeca6 qcacld-3.0: Fix amsdu support in addba for 6G connection
AMSDU support is advertised in addba for 2.4GHz HE connection and
for 5G connection.
Fix the band check to allow amsdu support for 6GHz connection.

Change-Id: Ia34c8b5c2944fb9fb9b8b906a602129cad07e2d1
CRs-Fixed: 2645853
2020-03-24 06:42:23 -07:00
nshrivas
5e06a86b81 Release 5.2.0.177R
Release 5.2.0.177R

Change-Id: Iee2d64522b14c2970b60c3d3e7835285203b4694
CRs-Fixed: 774533
2020-03-24 04:56:42 -07:00
bings
9e55b99378 qcacld-3.0: Notify channel info to kernel after channel switch
After channel switch, driver should indicate new operation channel to
kernel, otherwise wireless_dev->chandef still uses old channel whose
status may become disable when radar is detected in the old channel.

In hdd_chan_change_notify use frequency instead of channel number.
Notify channel information to kernel after channel switch.

Change-Id: I6dbf3d61978e4c35fe41b438397e635d62378719
CRs-Fixed: 2639076
2020-03-24 04:56:41 -07:00
nshrivas
1e0bcf66fa Release 5.2.0.177Q
Release 5.2.0.177Q

Change-Id: Ibb87af1619c01efddb756624cdca21d410880129
CRs-Fixed: 774533
2020-03-23 19:56:32 -07:00
Abhishek Ambure
2a5240c50c qcacld-3.0: Change INI "sta_disble_roam" type to UINT
As each bit of INI "sta_disable_roam" represents an interface on which
if the connection is present, disable station roaming.

Hence to use all the bits of "sta_disable_roam" INI, change type to
UINT.

Change-Id: Ife4bb31acf89ddbe744bdad376a8a6f5a733b92c
CRs-Fixed: 2647036
2020-03-23 19:56:32 -07:00
nshrivas
94d3d69b77 Release 5.2.0.177P
Release 5.2.0.177P

Change-Id: I72a16ed9c361aabd213330be2129887a949a1fac
CRs-Fixed: 774533
2020-03-23 16:06:34 -07:00
Abhinav Kumar
504fb78c41 qcacld-3.0: Clear sae_single_pmk info while processing del pmk
In wlan_mlme_clear_sae_single_pmk_info, driver clears sae_single_pmk
locally while processing del/flush pmk command from supplicant.

Driver should clear entry for sae_single_pmk mlme priv objects.

Fix is to clear entry for sae_single_pmk in mlme priv objects.

Change-Id: Iee71a1a86e293a1028e9b4003d5a48c72d19a8f4
CRs-Fixed: 2636662
2020-03-23 16:06:34 -07:00
nshrivas
9837e4687b Release 5.2.0.177O
Release 5.2.0.177O

Change-Id: I29ec4ce889ad4587299d8a3035808a1f0907d903
CRs-Fixed: 774533
2020-03-23 04:09:58 -07:00
Qun Zhang
6bb9513217 qcacld-3.0: Correct the peer_macaddr index to the expected value
valid_idx should be used instead of idx to check peer_macaddr
mac address.

Change-Id: Ifd761e4b9caa36d2a04b1dd3bcd75c7181b347f2
CRs-Fixed: 2644625
2020-03-23 04:09:58 -07:00
Ashish Kumar Dhanotiya
b994a75a34 qcacld-3.0: Allocate vdev private data along with vdev
Currently vdev private data osif_priv gets allocation
separately and requires to be de-alloc separately.
This de-alloc needs to be taken care at different places
based on the vdev create failure or whenever vdev is freed.
As vdev private data is associated to the vdev and needs to
be freed if vdev is not there, it is good to allocate this
private data along with vdev so that there is no need
to maintain allocation and de-allocation of vdev priv data
separately.

As part of this change alloc the vdev priv data along with
the vdev allocation as a single memory and free of the vdev priv
data will be taken care as part of vdev free.

Change-Id: I8d4b94cae564c7f2498f7b8cc8aa84a2edd6420d
CRs-Fixed: 2634998
2020-03-23 04:09:49 -07:00
nshrivas
87cb4c9f2f Release 5.2.0.177N
Release 5.2.0.177N

Change-Id: I30c98f6c0f497b9c6173d5b61a375e6950768f81
CRs-Fixed: 774533
2020-03-23 00:23:57 -07:00
Jianmin Zhu
d682eb4e28 qcacld-3.0: Compare mac id for ap-sta force scc
Consider SBS mode and 6GHZ, can't force scc only by band.
for example: 1 port on 5G, another on 6G,  they may be on same
MAC, may be not. Just compare mac id from connection list
directly.

Change-Id: I5bfc9cd14b058a6a4f402c0e2d2f9ae7da8287fb
CRs-Fixed: 2646499
2020-03-23 00:23:56 -07:00
nshrivas
3b987f3315 Release 5.2.0.177M
Release 5.2.0.177M

Change-Id: I5c145dada693edfda1387ee16fd45b7b3843623e
CRs-Fixed: 774533
2020-03-21 14:41:33 -07:00
bings
dc47aaaefd qcacld-3.0: Fix build error of prev_bssid of cfg80211_connect_params
prev_bssid of cfg80211_connect_params can only be accessed when there
is prev_bssid field in struct cfg80211_connect_params.

Change-Id: I370bb76e180b9eae1b34f8fd33e9551f6e42bf65
CRs-Fixed: 2642334
2020-03-21 14:41:33 -07:00
nshrivas
b8564a7861 Release 5.2.0.177L
Release 5.2.0.177L

Change-Id: I9affa7bccd3dcd8ca91fe1694257d8e2628736db
CRs-Fixed: 774533
2020-03-21 10:58:54 -07:00
Wu Gao
58262e7922 qcacld-3.0: Set wmi handle to pdev when saving pdev to wma handler
Spectral scan and CFR components failed in pdev open since no valid
wmi handle in pdev. This change sets wmi handle to pdev before calling
dispatcher pdev open in hdd layer.

Change-Id: I9461220b309f78e33770e423e24c97841b064a0f
CRs-Fixed: 2637140
2020-03-21 10:58:54 -07:00
nshrivas
faa5ad17a1 Release 5.2.0.177K
Release 5.2.0.177K

Change-Id: I3c4fa5f4945cbee239dcfa0873226dbe0a6c08b2
CRs-Fixed: 774533
2020-03-21 08:49:24 -07:00
Srinivas Girigowda
c7d8c585ee qcacld-3.0: Move sar related functions to wlan_hdd_sar_limits.c
Move sar related functions from wlan_hdd_cfg80211.c to
wlan_hdd_sar_limits.c.

Change-Id: I65f4e33469d5fc2dd09ae37fd0138b3d3d2c5f9d
CRs-Fixed: 2638028
2020-03-21 08:49:24 -07:00
nshrivas
cb8b11de04 Release 5.2.0.177J
Release 5.2.0.177J

Change-Id: Id2e9f1147c2e1dc0b6b28c8cbb540be4841826c6
CRs-Fixed: 774533
2020-03-21 07:08:54 -07:00
Jingxiang Ge
7cca7f52ae qcacld-3.0: Use workqueue for recovery when suspend/resume timeout
When suspend/resume timeout, it will trigger recovery,
current as it direcly trigger assert to fw, which will
take more time to dump ramdump, so DPM WD timer expired.

To avoid DPM WD timer expired, trigger ramdump in a
separate workqueue, so it will not block DPM WD timer.

Change-Id: I1a9349a05a37544329946270065037cd90172fc7
CRs-Fixed: 2645163
2020-03-21 07:08:53 -07:00
nshrivas
2f607373ab Release 5.2.0.177I
Release 5.2.0.177I

Change-Id: I0344ac14f48292fc94c4f6734edc9a4f4dab7158
CRs-Fixed: 774533
2020-03-21 05:31:25 -07:00
Pragaspathi Thilagaraj
6bfeae6ae4 qcacld-3.0: Set unicast key followed by broadcast key in FILS case
Host driver sets broadcast keys followed by unicast keys for
FILS connection. This results in the data packet sent before
unicast set key and peer pn was reset. Sending broadcast keys
first will allow firmware to enable WAL_PEER_ALLOW_DATA and
data tx could start without unicast keys being set. Due
to this TX packet will go unencrypted and TX will fail without
ACK from peer AP, peer pn will be set to 2, after this unicast
key got set and this resets the peer pn to 1. And when next
frame TX was done, pn check failed and firmware assert occured.

Set the unicast keys to firmware first followed by the broadcast
keys for FILS case.

Change-Id: Ia498709ac524e95b831cc7ccdd17e6fc7ae0b130
CRs-Fixed: 2633632
2020-03-21 05:31:25 -07:00
nshrivas
34040b2668 Release 5.2.0.177H
Release 5.2.0.177H

Change-Id: I6e048e7d6ef15cc032f23b8f915957942b631c59
CRs-Fixed: 774533
2020-03-21 02:03:03 -07:00
Chaoli Zhou
af5cedc79e qcacld-3.0: Add CONFIG_MOBILE_ROUTER for Genoa
Disable/enable some feature based on CONFIG_MOBILE_ROUTER,
which should be as same as hasting & rome

Change-Id: Ib0ba2d51e6dc869477226ae452e4439c255d1ee5
CRs-Fixed: 2646429
2020-03-21 02:03:03 -07:00
nshrivas
a33f3be692 Release 5.2.0.177G
Release 5.2.0.177G

Change-Id: I9423e6213a9a0d06b150194158b018505a6a2449
CRs-Fixed: 774533
2020-03-20 17:05:48 -07:00
Alok Kumar
c99a7e3cb0 qcacld-3.0: Add API to get adapter based netif queue history
Currently, netif queue history is displayed for each adapter
by iterating over adapter list in the HDD context. But, this
iteration is not safe when unregistration of netdev going in
parallel in other thread. In case the adapter is removed, the
iteration will result in NULL pointer dereference.

Avoid iterating over adapter list, add call newly added API, which
is adapter based, to get netif queue history. When iteration over
adapter list is needed, call hdd_for_each_adapter_dev_held API.

Change-Id: I45fd8cd80cf21931ee352d612b10752ef0837c06
CRs-Fixed: 2639882
2020-03-20 17:05:47 -07:00
bings
83c7c370d1 qcacld-3.0: Fix build error when WLAN_SUPPORT_RX_FISA defined
Fix print format in core/dp/txrx3.0/dp_fisa_rx.c
Both cds_ieee80211_common_i.h and net/ieee80211_radiotap.h define
IEEE80211_CHAN_*, so only one header is needed in wlan_hdd_tx_rx.c

Change-Id: Ie9c3a7ea04e9b71acf96f007515a7ae6c0def938
CRs-Fixed: 2644359
2020-03-20 17:05:31 -07:00
nshrivas
11ec38deb4 Release 5.2.0.177F
Release 5.2.0.177F

Change-Id: Ie7ebebe1578759f5863333d040f94501f90fc23b
CRs-Fixed: 774533
2020-03-20 06:02:13 -07:00
Bapiraju Alla
51ab1164a1 qcacld-3.0: Synchronize sta_info access in host driver
Currently there is no synchronized access for sta_info. Because of this
memory use after free is getting triggered.

To resolve this, use a reference count for sta_info to check whether it
is in use or not before freeing.

Change-Id: I696461a1f53f4cc4739963f3f97ada31d3fa15f3
CRs-Fixed: 2637074
2020-03-20 06:02:13 -07:00
nshrivas
bcadcc00c3 Release 5.2.0.177E
Release 5.2.0.177E

Change-Id: I1a9e8130936fe10805df72444879786283b7a05a
CRs-Fixed: 774533
2020-03-20 04:19:30 -07:00
hqu
86ee15fa07 qcacld-3.0: Use vdev_id to get vdev in sap_channel_sel
In SAP on/off stress test, when hostapd call hdd_start_adapter
to create vdev, vdev2 will be created while vdev1 doesn't be
deleted physically even if vdev1 is already destroyed logically,
then hostapd issue acs operation, currently use mac address to
get vdev in sap_channel_sel, because vdev2 is using the same mac
address as vdev1 and vdev1 is still in vdev_list at this point,
so will find vdev1 firstly but will return failure due to vdev1 is
WLAN_OBJ_STATE_LOGICALLY_DELETED status, then will cause acs fail.

Fix is to use vdev_id to get vdev in sap_channel_sel.

Change-Id: I89ae3e847b725c2b64331536bc7c1de3fffce0bd
CRs-Fixed: 2640850
2020-03-20 04:19:30 -07:00
nshrivas
cbe685b29e Release 5.2.0.177D
Release 5.2.0.177D

Change-Id: I6c0dfc6a0804b37b74e467bac93f01dad13a69f3
CRs-Fixed: 774533
2020-03-20 02:31:53 -07:00
gaurank kathpalia
62d52296d5 qcacld-3.0: Handle vdev stop req failure and delete BSS peer
Handle vdev stop req failure and delete BSS peer and move the
VDEV SM to init state.

Change-Id: I48044d153a281aedfeeb90bc97c9772dea0ca284
CRs-Fixed: 2644218
2020-03-20 02:31:53 -07:00
nshrivas
b90e1cf831 Release 5.2.0.177C
Release 5.2.0.177C

Change-Id: I172431391d2d58d04265b7b6e714718a48fe947a
CRs-Fixed: 774533
2020-03-20 00:15:11 -07:00
bings
6d1783211f qcacld-3.0: Do not set hw mode if it is not needed for DBS1 and DBS2
policy_mgr_pdev_set_hw_mode returns failure if there is interface doing
CAC, which causes other interfaces start failure.
Check mode action are needed or not can help reduce interface starting
failure.

Change-Id: I165f9287d0a674d907712817a7363a77504c245f
CRs-Fixed: 2625868
2020-03-20 00:15:11 -07:00
nshrivas
aea89ba371 Release 5.2.0.177B
Release 5.2.0.177B

Change-Id: Ic773680c7c76e3af6302882844b53f437229676f
CRs-Fixed: 774533
2020-03-19 22:24:40 -07:00
Abhishek Ambure
6236deab41 qcacld-3.0: Optimize LFR logs
Optimize LFR3 logs.

Change-Id: I13067dfa504dd9310eff48b138916da2791cb270
CRs-Fixed: 2643684
2020-03-19 22:24:40 -07:00
nshrivas
de142f1e10 Release 5.2.0.177A
Release 5.2.0.177A

Change-Id: I52dcfb566a721f7da7193247de4333c7057c9b85
CRs-Fixed: 774533
2020-03-19 20:41:40 -07:00
Srinivas Dasari
5ab63299b9 qcacld-3.0: cleanup NAN/NDP logging
Few NAN/NDP logs are redundant in the current logging infra.
Optimize the same and add few necessary logs.

Change-Id: Ie261db317af48955a16269539948ff1596c4bbcb
CRs-Fixed: 2644418
2020-03-19 20:41:40 -07:00