Commit graph

21,209 commits

Author SHA1 Message Date
Bapiraju Alla
0d8ad29d86 qcacld-3.0: Add INI parameter to configure NAN in 6GHz
Currently, there is no INI parameter to control NAN feature in 6GHz
frequency band. Because of this, there is no provision to disable the
NAN in 6GHz when there is no requirement.

To address this, add INI parameter to configure NAN feature in 6GHz.

Change-Id: I6b4faa8e8aa1a3df72539fed1d7ff3cc8287debd
CRs-Fixed: 2817920
2020-11-25 23:11:59 -08:00
snandini
2b80baf896 Release 2.0.8.4M
Release 2.0.8.4M

Change-Id: Ibba49a3fc4c56c269a7d5d78c4a49a2597381eaa
CRs-Fixed: 774533
2020-11-25 17:36:41 -08:00
Bapiraju Alla
0346a1735c qcacld-3.0: Fix reference leaks for dev_hold
hdd_for_each_adapter_dev_held_safe will call the dev_hold for each
iteration. This is to make sure that net device is not being deleted
in between the iteration. dev_put has to be done at the end of each
iteration. There are few instances in the driver where this dev_put
is missing. This will block the driver unregistration due to missing
dev_put.

To resolve this, fix all missing dev_put calls in the driver while
using hdd_for_each_adapter_dev_held_safe.

Change-Id: I1c5560ebc4abcd5eee09e03b5cba39d481398f8c
CRs-Fixed: 2824505
2020-11-25 17:36:41 -08:00
Rakesh Pillai
e7e35075ab qcacld-3.0: Mark packets to be sent to FW in control block
Classify the ICMP request packet and mark it to be
sent to the firmware in the packet control block.

Add an INI which indicates the time interval for
marking the ICMP requests to be sent to FW.
For the INI value:
-1, indicates to mark all ICMP requests to be sent to FW.
0, indicates that none of the ICMP requests will be sent to FW.
> 0, indicates the time interval for marking ICMP requests
     to be sent to FW.

Change-Id: Ia9c41765cef64a4f5fd19019df595c9e7fd657e9
CRs-Fixed: 2826444
2020-11-25 17:36:37 -08:00
gaurank kathpalia
afc30ea9ab qcacld-3.0: Remove check for DBS HW mode
Currently the driver checks whether hw is
already in DBS in the function
policy_mgr_check_and_set_hw_mode_for_channel_switch
and it does not set hw mode if it is already
in DBS mode. It can happen that SMM is already
requested and is present in serialization and it
would change the HW mode from DBS->SMM and if
driver starts any vdev on 2.4ghz in HST/HSP
which requires the DBS mode for 2.4ghz , the FW
would send a vdev start failure.

Fix is to remove the check of current hw mode and
let DBS be posted to serialization. If hw mode is
already in DBS it would return from serialization
with E_ALREADY but would ensure that HW mode is
always in DBS for a 2.4ghz connection.

Change-Id: Ica660058175cb1edc2931dd2d28ee6cdd9bab2f4
CRs-Fixed: 2823238
2020-11-25 17:36:32 -08:00
gaurank kathpalia
38ac0f74cb qcacld-3.0: Use correct API for DBS capability
Currently the driver uses the API
policy_mgr_is_dbs_enable to check
whether the DBS is enable or not which
does not check the service capability of
DBS, and thus would return true if ini
and FW HW modes contain DBS. In this case
if STA is on 5ghz and SAP comes on 2.4ghz
then force SCC would not happen as the
driver would consider the HW to be DBS
capable which actually is not, and thus
the overall concurrency would be MCC which
is not favourable.

Fix is to use policy_mgr_is_hw_dbs_capable
API instead of DBS enable API which checks
for the service bit also, so that the driver
forces SAP to STA's channel.

Change-Id: I9319293ecfb54fe3e1ad0eaff15542c671514bf4
CRs-Fixed: 2820377
2020-11-25 08:57:54 -08:00
snandini
eff9c77b82 Release 2.0.8.4L
Release 2.0.8.4L

Change-Id: I850ed7489760d0f45f9f959c80977c33ecc77df7
CRs-Fixed: 774533
2020-11-25 03:33:36 -08:00
Aasir Rasheed
2862b76224 qcacld-3.0: Add code to handle hang event data via ICNSS_UEVENT_HANG_DATA
Add code to handle hang event data via ICNSS_UEVENT_HANG_DATA
uevent.

Change-Id: I3efe64fab7c8fcd78eb23f32152ca23e40f1f1f7
2020-11-25 03:33:36 -08:00
snandini
c234b7fe15 Release 2.0.8.4K
Release 2.0.8.4K

Change-Id: I91a4b6fd645ca78d4f5d80e01eec4e23a17dbf20
CRs-Fixed: 774533
2020-11-25 01:18:18 -08:00
Paul Zhang
1eb747e031 qcacld-3.0: delete the pre auth node if any
The issue happens in dual sap case, one sap receives peer's auth req and
creates preauth node for the peer, then adds to the list
mac->lim.pLimPreAuthList. Then Another sap (re)starts, it invokes
lim_init_pre_auth_list to set mac->lim.pLimPreAuthList none. In some cases,
the preauth node added by first sap will be "lost" and causes max pre-auth
nodes reached.

Change-Id: I9f5e99095900472a7c77c6b3273eda3c91dded00
CRs-fixed: 2820407
2020-11-25 01:18:18 -08:00
Sandeep Puligilla
919ad36a0b qcacld-3.0: Fill proper reason code for STA disconnection
Presently host updates STA disconnection reason codes without checking
frame type in lim timeout handler, due to that host fails to update
assoc reason codes user space. Hence while processing timeout handlers
in lim check frame type and update proper STA disconnect reason codes
for auth and assoc.

Change-Id: I0d11f58e75fcfb79b61221fe192f5da1f5b5f4ee
CRs-Fixed: 2824686
2020-11-24 16:57:18 -08:00
snandini
3011c24490 Release 2.0.8.4J
Release 2.0.8.4J

Change-Id: I17f9ddea6eb563ef838059790d6c5f4428432888
CRs-Fixed: 774533
2020-11-24 12:37:32 -08:00
Bapiraju Alla
9effb48c05 qcacld-3.0: Set RX_DIAG_WQ_MAX_SIZE as 1000
Currently RX_DIAG_WQ_MAX_SIZE is set to 0. Which means, there is no
limit to the number of FW diag events that can be queued for processing.
This may result in SKB memory pool is being blocked by FW diag events.

To avoid this, set RX_DIAG_WQ_MAX_SIZE default value as 1000.

Change-Id: I44c69f910a512d8f9a1aed0809c55c6d93737cb2
CRs-Fixed: 2824443
2020-11-24 12:37:31 -08:00
Yeshwanth Sriram Guntuka
31d8751c4e qcacld-3.0: Do not sched IPA UC op work when de-init is in progress
In the scenario where IPA UC ready work is processed after
wlan_ipa_uc_ol_deinit, triggered as part of idle shutdown,
there is a possibility for NULL wbm srng pointer derefernce
when setting the tx doorbell address.

Fix is to avoid scheduling UC op work when deinit is in
progress.

Change-Id: Ifa0908912b77f45b7d93c5f9c2f5aaf9e17685c5
CRs-Fixed: 2807218
2020-11-23 09:09:22 -08:00
snandini
e9a4131015 Release 2.0.8.4I
Release 2.0.8.4I

Change-Id: Ib25a54c81acd72775074abb9e7029c8fc1bab5ba
CRs-Fixed: 774533
2020-11-20 22:23:36 -08:00
Lincoln Tran
41cdbf5a30 qcacld-3.0: Add check for passive channel for SAP
Add a check for passive channels when checking the restricted
bands on SAP. This change blocks SAP from restarting on a passive
channel.

Implement the function to filter out passive channels from the PCL.

Change-Id: I80a4b78c1af77f5bfa68be3163f9e9a78cc6425a
CRs-fixed: 2817589
2020-11-20 22:23:35 -08:00
snandini
3ac1a06602 Release 2.0.8.4H
Release 2.0.8.4H

Change-Id: If134f6849822bdeeca7acf1970d1b93870d5f860
CRs-Fixed: 774533
2020-11-20 20:10:33 -08:00
Min Liu
feb24397f1 qcacld-3.0: Get dynamic nss configuration for STA
For STA, get dynamic nss configuration if it is supported by FW.

Change-Id: Ie1fce5896e473e361672f7e021d3acf6653cb964
CRs-Fixed: 2822062
2020-11-20 20:10:33 -08:00
snandini
cc13af9fd6 Release 2.0.8.4G
Release 2.0.8.4G

Change-Id: I4810a91d724de21bfddb93d755e21487dc63339e
CRs-Fixed: 774533
2020-11-20 16:27:38 -08:00
Amar Singhal
2917f54486 qcacld-3.0: Do not loop tx power from firmware
firmware sends Hw-limit tx power in vdev response and roam sync.
Do not loop back the same value to firmware; since firmware already
knows the value.

Change-Id: Ie9ba329516d5d75329bb1baaed13c8bdb7d1eb83
CRs-Fixed: 2823108
2020-11-20 16:27:38 -08:00
Amruta Kulkarni
fd9f26cb8e qcacld-3.0: Add support for STA + monitor mode
In mission mode, add support for virtual add/del monitor
mode interface. In addition to STA vdev, create and maintain
a new vdev for monitor interface.

Change-Id: I91ea8e56976cce92f9b1ae308d4bd0fb30815366
CRs-Fixed: 2818499
2020-11-20 16:27:34 -08:00
Amruta Kulkarni
f97623e744 qcacld-3.0: Add ini for STA + Monitor mode
Add new ini "monitor_mode_concurrency" to support this feature
and introduce policy manager api's for concurrency checks.

Change-Id: I35ee1fece0a6f9ae8fe340b0598c4a3e20b17e82
CRs-Fixed: 2814523
2020-11-20 16:27:30 -08:00
snandini
b47adf5fec Release 2.0.8.4F
Release 2.0.8.4F

Change-Id: Ic5963bb5792ca10a6bad33f9a111fcecf01750d2
CRs-Fixed: 774533
2020-11-20 11:21:51 -08:00
Bapiraju Alla
807d167810 qcacld-3.0: Process FW diag events in a separate worker thread
Currently, FW diag logs, management frames and stats responses are
processed in worker context. Because of this, there is a possible
out of memory scenario when there are huge number of diag events
waiting in work queue.

To address this, process diag events in a separate worker thread and
set the limit for the number of diag events that can be queued in
work queue.

Change-Id: Ib9f7b8042479e8b2f4d67c9a4250932b018f29a4
CRs-Fixed: 2821534
2020-11-20 02:52:08 -08:00
snandini
8202b172d4 Release 2.0.8.4E
Release 2.0.8.4E

Change-Id: Idb53a81d921d4e7b32c40a8c354bb266bc6bf35c
CRs-Fixed: 774533
2020-11-19 09:22:06 -08:00
Ashish Kumar Dhanotiya
0d8efb7383 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-19 09:22:06 -08:00
snandini
47c445f10a Release 2.0.8.4D
Release 2.0.8.4D

Change-Id: I89f9c09f7af1c580d9135dc2e51a5f0567ac05cd
CRs-Fixed: 774533
2020-11-19 05:01:23 -08:00
Jia Ding
bcb1a2aae0 qcacld-3.0: Intersect 40 MHz channel width in 2.4 GHz band
When sending WMI_VDEV_SET_IE_CMDID, do an intersection between
gChannelBondingMode24GHz and target capabilities for 40 MHz
channel width support and 20 MHz in 40 MHz HE PPDU in HE PHY
capabilities IE.

Change-Id: I9c2b3200f35fa6ffb11e5165cec64a23645241c3
CRs-Fixed: 2738040
2020-11-19 05:01:22 -08:00
snandini
33b2c99fbe Release 2.0.8.4C
Release 2.0.8.4C

Change-Id: Ib59e012af6da2f7f437510b45a9ca7741fc01cc0
CRs-Fixed: 774533
2020-11-19 00:58:44 -08:00
Rajesh Chauhan
23b4c96f9a Revert "qcacld-3.0: Add cfg80211_stop_iface API to stop P2P Go after SSR"
This reverts Change-Id: I94adadb0b3314a571f6a16a78285d444c007d9d5
until ABI is updated.

Change-Id: I12a736b1e8650e3e4764f1920431ce04bab09ac9
CRs-Fixed: 2802830
2020-11-18 21:53:50 -08:00
snandini
e7b50450fe Release 2.0.8.4B
Release 2.0.8.4B

Change-Id: I1ea115738b587e6b788868b5105e9f14dfa3e182
CRs-Fixed: 774533
2020-11-18 17:43:22 -08:00
Abdul Muqtadeer Ahmed
f0f0fd5e3e qcacld-3.0: Add a check to set band as auto
Currently in driver when value is set as QCA_SETBAND_AUTO for
QCA_WLAN_VENDOR_ATTR_SETBAND_MASK attr in QCA_NL80211_VENDOR_SUBCMD_SETBAND
command, it return invalid argument error instead of enabling all supported
bands.

To resolve the above issue add a check for the value QCA_SETBAND_AUTO and
if it is true enable all the supported bands.

Change-Id: I0f4f03b8e2e049cc253822582436fd1fabf65133
CRs-Fixed: 2819677
2020-11-18 17:43:22 -08:00
Wu Gao
6cbd4faef6 qcacld-3.0: Update nla policy about cfr configurations
It uses policy of wlan host to check settings from user space in
msm-5.4, which causes user application failed to trigger cfr vendor
command. This change updates nla policy of cfr and let it compatible
with msm-5.4.

Change-Id: Ia7e9bb1e12b4e4f586abb650fe52a62292b0f11d
CRs-Fixed: 2819321
2020-11-18 17:43:18 -08:00
snandini
f48275fc58 Release 2.0.8.4A
Release 2.0.8.4A

Change-Id: I9cb767c07a329d2905d26b61ee90ab2c66f3d43c
CRs-Fixed: 774533
2020-11-18 14:41:00 -08:00
Jinwei Chen
7866287981 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-18 14:41:00 -08:00
Kiran Kumar Lokere
7e4220459b qcacld-3.0: Fix LDPC setting for HE connection
Fix the issue with LDPC setting in HE caps sent to FW.

Change-Id: Idc7965d81f32cac5f848b9ade8fc367d27a70e83
CRs-Fixed: 2818299
2020-11-18 14:40:56 -08:00
snandini
9fd6775a55 Release 2.0.8.4
Release 2.0.8.4

Change-Id: I132100905a83b4c9eaba309bb716dfd2168daeec
CRs-Fixed: 774533
2020-11-18 13:51:47 -08:00
Jyoti Kumari
e22c1947b4 qcacld-3.0: Update nw type for tdls peer after channel switch rsp
When firmware sends wma_csa_offload_handler() event, peer should
switch to new channel and update network type. But only frequency
is getting updated, network type is old.

Add check to update network type based on channel frequency

Change-Id: Icd70823f98cfd528863cfb9ec1c2bf5e78e9912b
CRs-Fixed: 2813847
2020-11-18 13:51:47 -08:00
snandini
1fc261e982 Release 2.0.8.3Z
Release 2.0.8.3Z

Change-Id: I996f73b564a6356ced2fdbc78f47f299eb3aa599
CRs-Fixed: 774533
2020-11-18 10:02:25 -08:00
Deeksha Gupta
62515940d1 qcacld-3.0: Add cfg80211_stop_iface API to stop P2P Go after SSR
Currently, In P2P Connection, After SSR P2P CLI is
disconnected but P2P GO is still showing connected
with the P2P CLI in kernel 5.4. Beacause cfg80211_ap_stopped
API does not work for kernel 5.4.

Add the cfg80211_stop_iface API to stop P2P GO after
SSR in kernel 5.4.

Change-Id: I94adadb0b3314a571f6a16a78285d444c007d9d5
CRs-Fixed: 2802830
2020-11-18 10:02:25 -08:00
snandini
20ecf638e8 Release 2.0.8.3Y
Release 2.0.8.3Y

Change-Id: If26ee4cd4dee7f3df018f73838a904b4999c1a44
CRs-Fixed: 774533
2020-11-18 02:10:24 -08:00
Abhishek Ambure
938a95686b 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:38:15 -08:00
snandini
58ff27b0e7 Release 2.0.8.3X
Release 2.0.8.3X

Change-Id: I2c04efd35d86fd0e4aa6ef676ac53559a4d5c404
CRs-Fixed: 774533
2020-11-17 06:00:13 -08:00
Bapiraju Alla
b60deaf55f 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-17 06:00:13 -08:00
snandini
2472b9f4a9 Release 2.0.8.3W
Release 2.0.8.3W

Change-Id: I652b117b9019a7abbf208e0ebebb1c1cf71794ea
CRs-Fixed: 774533
2020-11-16 02:26:25 -08:00
Jianmin Zhu
839b2a580d 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:30:59 -08:00
snandini
d47cf48368 Release 2.0.8.3V
Release 2.0.8.3V

Change-Id: I8979ab03d1c44d18cc6328d003d02a15823279a5
CRs-Fixed: 774533
2020-11-15 12:56:52 -08:00
Jyoti Kumari
3ef62b9741 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-13 04:55:44 -08:00
snandini
a0b773f23d Release 2.0.8.3U
Release 2.0.8.3U

Change-Id: I0bbcc31c0255974fb4f730ffce60e86d557eb87b
CRs-Fixed: 774533
2020-11-13 01:22:04 -08:00
Paul Zhang
02e0637710 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-13 01:22:04 -08:00