Commit gráf

21323 Commit-ok

Szerző SHA1 Üzenet Dátum
Abhishek Ambure
92e5224ded qcacld-3.0: Send disassoc cnf if host failed to send disassoc to FW
Problem scenario:
1) Host gets Firmware down indication and stops all timers.
2) While processing association completion, host sends disassoc if
   user changed reg domain during association and new channel falls
   out of current reg domain.
3) Host fails to send disassoc to fw as WMI is in stop state due to SSR
4) Host doesn't check wmi status for disassoc tx and on failure depends
   on disassoc ack timer to complete disassoc cnf.
5) As host stops timers on firmware down indication, disassoc ack timer
   doesn't trigger and host fails to complete disassoc cnf action. Which
   lead to stuck the vdev state machine at suspend down and peer refs
   remains undeleted.

To fix this issue check the status of sending the disassoc, and if the
disassoc failed to send then perform the follow-up actions that are
normally performed upon receipt of the disassoc confirmation.

Change-Id: Ic2b88cfcbcb755a869ee281be4e1e8a9cec8299b
CRs-Fixed: 2816503
2020-11-17 23:18:40 -08:00
Liangwei Dong
9f360f6c08 qcacld-3.0: Use scan dbg id for ref count operations
Change HDD layer to use WLAN_OSIF_SCAN_ID reference count
dbg id for vdev reference count acquire/release when process
scan request.

Change-Id: I4c181cd8213c5f03ca6416306f9468f9643eac99
CRs-Fixed: 2813929
2020-11-17 23:18:35 -08:00
snandini
b087ba16ae Release 5.2.0.210M
Release 5.2.0.210M

Change-Id: I49b46c6dc1944066d10ca750a6c809721c58cc2a
CRs-Fixed: 774533
2020-11-17 19:04:43 -08:00
Jinwei Chen
180ade979c qcacld-3.0: Bypass FISA if IPA RX packet rerouted to host
If IPA RX hit back pressure, FW will reroute RX frames to host
by REO2SW1 ring(reo_destination_indication 2), this might introduce
FISA RX ring mismatch issue.

Bypass FISA if IPA RX packet rerouted to host by
reo_destination_indication 2.

CRs-Fixed: 2820235
Change-Id: Ife8f2168e1942204cfc66a2a135cb93c9a1e9910
2020-11-17 19:04:43 -08:00
Liangwei Dong
baa0bbbae0 qcacld-3.0: Use statistics user id for ref count operations
Change HDD layer to use WLAN_OSIF_STATS_ID reference count
dbg id for vdev reference count acquire/release when process
statistics request.

Change-Id: I9ede0575d0f83c69ab08e05fae12f4c4b9862807
CRs-Fixed: 2805047
2020-11-17 19:04:38 -08:00
Ashish Kumar Dhanotiya
e048ff1d56 qcacld-3.0: Use frequency based api to set channel params
Currently when driver receives CSA, it uses channel number based
api to fill the channel params which does not work for the 6GHz
channels and may give incorrect results, which may result in
unexpected behavior.

To address above issue use frequency based api to set channel
params which gives correct results for all the bands.

Change-Id: I1e94a9fdac8dfae471ec83e9304d33cf154e49e1
CRs-Fixed: 2812548
2020-11-17 19:04:34 -08:00
snandini
74296b9f45 Release 5.2.0.210L
Release 5.2.0.210L

Change-Id: I948ed77ee2d7512fb5be79fbe7b34e2b924fbef6
CRs-Fixed: 774533
2020-11-16 03:34:11 -08:00
Bapiraju Alla
9263a5f2ee qcacld-3.0: Rate limit the logs in SAP data Tx path
Currently, the logs in SAP data Tx path are not rate limited.
If there are any error scenarios in throughput tests, this may endup in
continuous logging of the error messages.

To avoid this rate limit the error logs in SAP data Tx path.

Change-Id: I062b52c90e1e7ed85e74cc774f7817159f98eee6
CRs-Fixed: 2811093
2020-11-16 03:34:10 -08:00
snandini
37e52dbe27 Release 5.2.0.210K
Release 5.2.0.210K

Change-Id: Id8a731c30e5ca0f1e7ecf3b568ce76f71f8efa85
CRs-Fixed: 774533
2020-11-16 01:24:35 -08:00
Surabhi Vishnoi
d8ef47432e qcacld-3.0: Override WLAN_PROFILE to default only if it is unset
Currently WLAN_PROFILE is overridden to default in all cases.
In many targets, defconfig other than default_defconfig needs
to be picked, so set WLAN_PROFILE to default only if it is not
set before.

Change-Id: Ia9a5ad7c9eedd56be59418371867107258e65ea0
CRs-Fixed: 2818090
2020-11-16 01:24:35 -08:00
Arun Kumar Khandavalli
f97275eb2e qcacld-3.0: set the global device mode in the pdev
Set the global device mode which can help in the memory optimization
based on the device mode.

Change-Id: I32d7c2f5be9cf8972ef9ef87ae698655629344b2
CRs-Fixed: 2809941
2020-11-16 01:24:31 -08:00
snandini
2a07cd767d Release 5.2.0.210J
Release 5.2.0.210J

Change-Id: I5ff44383e2b92f9196c952cf80a4d4085a059802
CRs-Fixed: 774533
2020-11-15 23:15:39 -08:00
Jianmin Zhu
c5835c7bee qcacld-3.0: Fix LFR3 roaming and NUD race condition issue
If data stall happens, both LFR3 roaming and NUD may happen,
if LFR3 happens first, updated connected bssid, NUD handler will
add new bssid to blacklist and trigger roaming again by mistake.

Fix: Once roaming succeed, reset NUD status to NUD_NONE to finish
current NUD cycle, but don't zero gw mac addr since roaming does't
update gateway.

Change-Id: I03685ca21348444d929e042f12dc3a837ca51940
CRs-Fixed: 2818785
2020-11-15 23:15:38 -08:00
snandini
7dec302792 Release 5.2.0.210I
Release 5.2.0.210I

Change-Id: I82e9f20d215748043ece28f415bf353c71a0ef07
CRs-Fixed: 774533
2020-11-15 21:04:42 -08:00
Liangwei Dong
aa8d331da8 qcacld-3.0: Use tdls user id for tdls ref count operations
For all tdls operations in HDD layer, use WLAN_OSIF_TDLS_ID
reference count dbg id for vdev reference count
acquire/release.

Change-Id: Ic5ab93eb865e016d485f09a9af062062d1f97526
CRs-Fixed: 2805028
2020-11-15 21:04:42 -08:00
snandini
e0a04a2cf5 Release 5.2.0.210H
Release 5.2.0.210H

Change-Id: I5f757e0b55ad7f4d5a5e8874b768b8a6cee0810f
CRs-Fixed: 774533
2020-11-14 11:50:54 -08:00
Liangwei Dong
a890f44bc1 qcacld-3.0: Use p2p osif dbg id for ref count operations
Change HDD layer to use WLAN_OSIF_P2P_ID reference count
dbg id for vdev reference count acquire/release when process
p2p request.

Change-Id: I485ca13d37d3440b8aee75ced7fba75ff24efbd1
CRs-Fixed: 2813935
2020-11-14 11:50:53 -08:00
snandini
71e26e0ac3 Release 5.2.0.210G
Release 5.2.0.210G

Change-Id: Id7476f1a672a23bbe59f56b48cd486bf2c774fbc
CRs-Fixed: 774533
2020-11-14 09:50:33 -08:00
Liangwei Dong
dde0a42f80 qcacld-3.0: Use OCB osif dbg id for ref count operations
Change HDD layer to use WLAN_OSIF_OCB_ID reference count
dbg id for vdev reference count acquire/release when process
OCB request.

Change-Id: Ia6aabc3c3f41fa0f52cf626c99143f3b9682d35e
CRs-Fixed: 2813939
2020-11-14 18:33:21 +08:00
snandini
bd517a2ba1 Release 5.2.0.210F
Release 5.2.0.210F

Change-Id: Ibb5b480cb03a154ab1b6b3253a746323b30c8dad
CRs-Fixed: 774533
2020-11-13 05:12:38 -08:00
Liangwei Dong
520205fbf1 qcacld-3.0: Add new API hdd_objmgr_get/put_vdev_by_user
Add new hdd_objmgr_get/put_vdev_by_user to include user id(reference
count dbg id) to help identify the ownership of the ref count.
The old hdd_objmgr_get_vdev api is deprecated. And it will be removed
once all of the reference to it replaced by new API.

Change-Id: Ibd6528083d725a5930cece96ed3268b27e5263b9
CRs-Fixed: 2804993
2020-11-13 05:12:38 -08:00
snandini
ec84b335d1 Release 5.2.0.210E
Release 5.2.0.210E

Change-Id: I0cbdb9b2dd1d5c292b93b3e6fcdb3352e58bf4f3
CRs-Fixed: 774533
2020-11-13 02:43:23 -08:00
Guisen Yang
bbc786ebd8 qcacld-3.0: Fix the potential buffer overflow issue
Add check in function 'policy_mgr_get_sbs_channels' to restrict the
array index out of bounds.

Change-Id: I387b666095107faf284e35f073dfe856d38323d3
CRs-Fixed: 2776966
2020-11-13 02:43:23 -08:00
snandini
49e627d567 Release 5.2.0.210D
Release 5.2.0.210D

Change-Id: If30a2cd361370e9b30663d34c15a8e2c322d8761
CRs-Fixed: 774533
2020-11-12 16:53:51 -08:00
Guisen Yang
c169b214f9 qcacld-3.0: Check pointers for NULL before use
Some pointers returned from functions may be NULL, so fix these
issues to aviod some null pointer usage.

Change-Id: Ic2e801013d9edf1442b1317fe82718d2e89f9210
CRs-Fixed: 2772605
2020-11-12 16:53:51 -08:00
snandini
0268886bd1 Release 5.2.0.210C
Release 5.2.0.210C

Change-Id: I2d957576c83dfac128079ebede67e8234c43dc76
CRs-Fixed: 774533
2020-11-12 13:53:28 -08:00
Srinivas Girigowda
04d156c944 qcacld-3.0: dp: Remove logs for cds_get_context() checks
cds_get_context() function already takes care of logging the
caller function name in case of any error.
Hence there is no need to add the error log again.
Getting rid of these unnecessary logs reduces driver memory footprint.

CRs-Fixed: 2816598
Change-Id: Ide7e1cacb3752f8e9e5797629549079bf4ab8557
2020-11-12 13:53:28 -08:00
Srinivas Girigowda
c11a4d35e3 qcacld-3.0: bmi: Remove logs for cds_get_context() checks
cds_get_context() function already takes care of logging the
caller function name in case of any error.
Hence there is no need to add the error log again.
Getting rid of these unnecessary logs reduces driver memory footprint.

CRs-Fixed: 2816598
Change-Id: I16fc2a3cdf675d35fb297ec62f4d3f5fb2cd4dd3
2020-11-12 13:53:22 -08:00
snandini
360acd2d25 Release 5.2.0.210B
Release 5.2.0.210B

Change-Id: I9fd6094b6385ef69073c78911a62e198985ddaa7
CRs-Fixed: 774533
2020-11-12 05:40:12 -08:00
Jyoti Kumari
fb46c5c273 qcacld-3.0: Fix vdev null pointer access in disconnect handler
Vdev is NULL before completion of hdd disconnect process

Use hdd_objmgr_get_vdev() to get vdev reference and then pass it
to ucfg_if_mgr_deliver_event(). After using, release the
reference.

Change-Id: I683851a2b7b4376440637edc70b7fdaf71acfbd0
CRs-Fixed: 2812480
2020-11-12 05:40:11 -08:00
Srinivas Girigowda
27d9cc4eec qcacld-3.0: wma: Remove logs for cds_get_context() checks
cds_get_context() function already takes care of logging the
caller function name in case of any error.
Hence there is no need to add the error log again.
Getting rid of these unnecessary logs reduces driver memory footprint.

CRs-Fixed: 2815522
Change-Id: Ibb17fb043d6addaf0fa86aeb882178ef27535162
2020-11-12 05:40:05 -08:00
Srinivas Girigowda
1e37c63d94 qcacld-3.0: sap: Remove logs for cds_get_context() checks
cds_get_context() function already takes care of logging the
caller function name in case of any error.
Hence there is no need to add the error log again.
Getting rid of these unnecessary logs reduces driver memory footprint.

CRs-Fixed: 2815522
Change-Id: I735ba28f98a38e832ecb8781e39d5d8e134ad01f
2020-11-12 05:40:00 -08:00
Srinivas Girigowda
382132b749 qcacld-3.0: mac: Remove logs for cds_get_context() checks
cds_get_context() function already takes care of logging the
caller function name in case of any error.
Hence there is no need to add the error log again.
Getting rid of these unnecessary logs reduces driver memory footprint.

CRs-Fixed: 2815522
Change-Id: I8bc78db0276ad0c1547ae0e046d99bf749bd7125
2020-11-12 05:39:54 -08:00
snandini
2d690b8d7b Release 5.2.0.210A
Release 5.2.0.210A

Change-Id: Ib8038c6f2fc8726a494dcfd4b19aeedb56bdf9cf
CRs-Fixed: 774533
2020-11-12 03:28:29 -08:00
Paul Zhang
866061de62 qcacld-3.0: remove dup invoking sap_init_dfs_channel_nol_list
When enable SAP, it invokes function sap_init_dfs_channel_nol_list
twice.
1\  __wlan_hdd_cfg80211_do_acs
    -> wlan_hdd_cfg80211_start_acs
    -> wlansap_acs_chselect
    -> sap_init_dfs_channel_nol_list
2\  wlansap_start_bss
    -> sap_fsm
    -> sap_fsm_state_init
    -> sap_init_dfs_channel_nol_list

Remove the function in 1\ path.

Change-Id: I8c0bda1fafadc463f6594e0f4c127e9cf98bf4de
CRs-Fixed: 2808989
2020-11-12 03:28:29 -08:00
Jia Ding
e6afd40dd6 qcacld-3.0: Allow to vote link for STA mode
On MDM platforms, STA only IPA offload is supported.
Therefore there'll be scenarios when STA is connected
and APPS is suspended, IPA offload traffic will still
flow through WLAN HW.

Thus define a feature flag FEATURE_STA_MODE_VOTE_LINK
and allow to vote link for STA mode on MDM platforms.

Change-Id: I5c7aa3b35e3cd56249a5b34996fcea538b0da69d
CRs-Fixed: 2803802
2020-11-12 03:28:25 -08:00
Rakesh Pillai
c7d5c4a52f qcacld-3.0: Fix the UDP qos upgrade logic
The UDP qos upgrade is skipped currently if the setting
from userspace is set to best effort. Also with the current
logic the priority of packets at "best effort" gets
downgraded to "background".

Fix the UDP qos upgrade logic to take care of using
the "background" priority value as a trigger to skip
UDP qos upgrade.

Change-Id: I5111a930995ddd71b082db95440ed778f09a3cba
CRs-Fixed: 2816426
2020-11-12 03:28:22 -08:00
snandini
6d2312e9ae Release 5.2.0.210
Release 5.2.0.210

Change-Id: Iea770f67f58b5479d173380a591c72c5c71b8fa1
CRs-Fixed: 774533
2020-11-11 14:53:20 -08:00
Srinivas Dasari
b1768cdccf qcacld-3.0: Consider peer mac addr also for duplicate frame detection
Currently, sequence number of the authentication frame is cached
to detect if the same frame is received again. But in SAP case,
it's possible to get authentication frame from two different
clients with the same sequence number. Host driver drops auth
frame from the second station as it is considered as a
duplicate frame. Though the driver drops the frame only if it's
a retry, it's possible to get auth frame from second client with
same sequence number and retry bit set.
Cache the client mac address along with sequence number to
avoid this.

Change-Id: I194adc9e0f90d074aef50340d2cd6c7b138cc9b5
CRs-Fixed: 2815784
2020-11-11 14:53:20 -08:00
snandini
9fde8b97fa Release 5.2.0.209Z
Release 5.2.0.209Z

Change-Id: I3fdc0fb0301ff730879fe8f506d475ad3c609cf4
CRs-Fixed: 774533
2020-11-11 02:50:27 -08:00
Xueqiang Gong
05bb528b36 qcacld-3.0: support GENOA PCIE Global Reset
add CONFIG_QCN7605_PCIE_GOLBAL_RESET_SUPPORT
which is used to support Genoa Pcie Global Reset
this feature only used for 3rd party platform
which do not support hardware reset by toogle WLAN_EN pin

Change-Id: I0fa356e362ebafe18378e0a803bf3f4a00c77628
2020-11-10 17:19:30 -08:00
snandini
80023d938d Release 5.2.0.209Y
Release 5.2.0.209Y

Change-Id: I0ac1e37009c7a7190bbadfb1346d28d7085bdd2a
CRs-Fixed: 774533
2020-11-10 13:02:40 -08:00
Ananya Gupta
b205491920 qcacld-3.0: Retry sending packets in htc queue
A race condition is observed when runtime suspend is aborted
due to pending TX packets but context switch happened and pm_state
did not revert to active state yet. In parallel, WMI_PEER_DELETE
command is queued but not sent as pm_state is still in suspending
state.
To fix this, schedule HTC queue kicker work to resend pending
commands again after dp_runtime_suspend aborts due
to pending TX packets.

Change-Id: I6d2c4140a4635c0aec304f48b15fb2b539ac39ea
CRs-Fixed: 2813657
2020-11-10 13:02:40 -08:00
snandini
d35c37dad5 Release 5.2.0.209X
Release 5.2.0.209X

Change-Id: Ia85e2df53d692c4582be3334ddc0ad16b96b1b0b
CRs-Fixed: 774533
2020-11-10 07:03:14 -08:00
Abhinav Kumar
d61845ba6c qcacld-3.0: Enable roaming after start bss command
In case of STA + SAP/GO, Driver fist disable roaming on all
adapters before bss start and enable roaming after start bss
(SAP/GO) in case of failure/success.

Due to commit I4870c69a0e0ca1e8cad734a591f09e402b7a32fa,
Driver fails to re-enable roaming after failure/success
of SAP/GO process.

Fix is to enable roaming after start bss in case of
failure/success.

Change-Id: Ibe90f0685f41984a5841859ea96834f7760ff9a1
CRs-Fixed: 2811306
2020-11-10 07:03:14 -08:00
snandini
60ccd579ff Release 5.2.0.209W
Release 5.2.0.209W

Change-Id: Ibfed5d7cda5741429450a74353ee83c5eec6947b
CRs-Fixed: 774533
2020-11-10 04:57:34 -08:00
Rakesh Pillai
087a958395 qcacld-3.0: Create adapter features update work for all interfaces
Currently the adapter features update work is created only
for the STA types of interfaces, since this feature is only
used for STA mode. But this can cause an issue when a SAP
interface is changed to STA runtime, since the workqueue will
not be initialized (since create adapter was of SAP type) but
it will be attempted to be destroyed (since the adapter is of
STA type) during the cleanup of adapter.

The creation/destruction of this workqueue cannot be done
in the start/stop adapter, since the rtnl lock will be held
during this operation and the cancelling of the adapter features
workqueue can cause it to wait on rtnl lock, leading to a
possible scenario of a deadlock.

Hence as a mitigation for this issue, we create the adapter
features update workqueue for all the interfaces and clean it
up for all the interfaces as well.

Change-Id: I598480e9f248f50e46764f7f32b876a8efaeee8d
CRs-Fixed: 2811934
2020-11-10 04:57:33 -08:00
gaurank kathpalia
effa6ef7f0 qcacld-3.0: Filter out the 6ghz chan freq from valid freq list
Currently the driver does not have a support to
filter out the 6ghz frequencies from the valid freq
list, and hence there is a high chance of selecting
the 6ghz freq as an operating freq for SAP, which
the legacy clients won't be able to scan.

Fix is to add a support for filtering out the 6ghz
frequencies from the valid freq list.

Change-Id: I3c32b4c8c5b93eae04d49d2d5b6bd4ec9852c2a9
CRs-Fixed: 2808350
2020-11-10 04:57:29 -08:00
Abdul Muqtadeer Ahmed
7027df689a qcacld-3.0: Add helper function to typecast channel band parameter
Prior to the kernel version4.7 struct ieee80211_channel used enum
ieee80211_band. Beginning with kernel version4.7 struct ieee80211_channel
use enum nl80211_band. So there is an issue of typecasting of the channel
band parameter.

To resolve the above issue a helper function is added to typecast the band
parameter according to the kernel version.

Change-Id: I1af692bb7cae5ab2e71556128ce672c6b145f92f
CRs-Fixed: 2815201
2020-11-10 04:57:25 -08:00
Rajeev Kumar
a515c97cf3 qcacld-3.0: Add debug log when cached get station stats is returned
As part of power optimization to club LL and get stats request add
a debug log to indicate when cached get station stats is getting
returned to user space.

Change-Id: Id1f80e1589c1913d0129b435cd2bdbd807800230
CRs-Fixed: 2814701
2020-11-10 04:57:21 -08:00