Commit graph

22,263 commits

Author SHA1 Message Date
Ashish Kumar Dhanotiya
993758ccc4 qcacld-3.0: Reschedule country change work
Country change is a psoc operation and currently driver does
not try to reschedule country change work if it fails to start
this psoc operation and because of which it does not update the
scan channel list to the FW because of which host and FW are
not in sync.

To address this issue, reschedule country change work if it
gets and status of -EAGAIN when it tries to start the country
change psoc operation.

Change-Id: Ib93674b600a5d19fe3091d58e0689e806366659d
CRs-Fixed: 2968772
2021-06-25 07:39:41 -07:00
Ashish Kumar Dhanotiya
bacb646f40 qcacld-3.0: Avoid buffer overflow in llstats debugfs response
Currently driver does not subtract the already filled length
from the max available length when it copies the number of
radios to the llstats result buffer which may lead to buffer
overflow.

To address this issue subtract already filled length from the
max available length when driver copies the number of radios.

Change-Id: Ie3b93121df603bd65250f0b0a49bb049d353211d
CRs-Fixed: 2969637
2021-06-25 07:39:36 -07:00
Madan Koyyalamudi
cabb815f20 Release 2.0.8.19X
Release 2.0.8.19X

Change-Id: I36ca89ad7dca5ec40897341a234c40773d21b0a2
CRs-Fixed: 774533
2021-06-25 06:03:51 -07:00
abhinav kumar
3b30576bd5 qcacld-3.0: dual-band option is missing under AP Band in Hotspot
To show the "dual-band" option in "AP Band" in Hotspot, the host
should set the feature flag of CONCURRENT_BAND_SESSIONS in
hardware's capability and sends it to userspace.

The fix is to set the CONCURRENT_BAND_SESSIONS feature flag and
send it to userspace via the QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES
vendor command.

Change-Id: If29c35be4ea86c966624922f0209b1e5c272d405
CRs-Fixed: 2968554
2021-06-24 15:33:53 -07:00
Madan Koyyalamudi
68f7d17323 Release 2.0.8.19W
Release 2.0.8.19W

Change-Id: Ic0b8042c83b470b87920a539a5eab32197a4ca9a
CRs-Fixed: 774533
2021-06-24 13:54:03 -07:00
Vevek Venkatesan
fc9c6cc743 qcacld-3.0: defer sending STA_CONNECT to IPA after key install
Unlike wpa2, in wpa3 roaming scenario, roaming is not fully
offloaded to FW, EAPOL handshake and key install are done
from host, in current design during assoc completion handler,
it sends STA_CONNECT event to IPA and IPA gets hung waiting
for buffer replenish from FW and FW is waiting for current
thread to return, this causes deadlock, so defer sending
STA_CONNECT event to IPA after EAPOL handshake and key install
for all the secure connections, hence IPA HW is ready to
process the STA_CONNECT event, in this case.

Change-Id: I19961cdd303ccef13621c7a20867ba852342a526
CRs-Fixed: 2958313
2021-06-24 13:54:03 -07:00
Srinivas Dasari
efbe7ee16a qcacld-3.0: Wait for key install in SAE/OWE as well
EAPOL handshake is done by wpa_supplicant in initial connection
and WPA3 roaming as well. Driver is supposed to wait for EAPOL
handshake/key complete timeout after getting roam sync indication
from firmware. But this wait is skipped with the change
change-id : Ie4f06cfcb066ae245de024b62da586aade783aec.
Add the same check again.

Change-Id: I437c6be15d7c1a3775a177c2da6c581d417c2533
CRs-Fixed: 2963548
2021-06-24 13:53:58 -07:00
Madan Koyyalamudi
1353cf7ace Release 2.0.8.19V
Release 2.0.8.19V

Change-Id: Id4780afea7468e4672ad2954bd2de799c1ad900a
CRs-Fixed: 774533
2021-06-24 11:46:35 -07:00
Jianmin Zhu
1ffab14946 qcacld-3.0: Fix wrong rssi change threshold issue
RSSI change threshold is set as roam trigger reason by mistake

Change-Id: I6826d912d9bd6cbe454397074cee291a832e5f58
CRs-Fixed: 2975198
2021-06-24 11:46:35 -07:00
Madan Koyyalamudi
94c965e869 Release 2.0.8.19U
Release 2.0.8.19U

Change-Id: I55f2a08d6f5c283c456c6bb44d9ed8be00edaad4
CRs-Fixed: 774533
2021-06-24 10:17:09 -07:00
Srinivas Dasari
0d86c3cb30 qcacld-3.0: Consider calculated buf size for NDI ADDBA window size
Currently, ADDBA window size is calculated based on
self HE capability and peer advertised window size in
lim_process_addba_req(). But HE capability of the peer
is also considered while sending ADDBA response.
In NDI case, peer HE capability is not available and results in a
non-HE window size(64). But there is no need to check peer HE
capability as it advertises the window size in ADDBA request.
Skip the he_cap check for NDI.

Change-Id: I2d1df6f3cba9eac009ba59fcf33db88c907171bb
CRs-Fixed: 2961524
2021-06-24 10:17:09 -07:00
Srinivas Dasari
a9518782cd qcacld-3.0: Send NDI create rsp to userspace after NDI state is set
Currently, driver creates the NDI upon userspace request and sends
NDI-create-response to userspace. But internal NDI state is set
after sending this response. This leads to a race condition when
userspace sends NDI delete while driver is still setting driver
internal state for NDI create.
So, send NDI create response to userspace only after completion
of driver internal processing.

Change-Id: Ic651fd4f6dfab17c48c4f65b6e5d49c4d08cbe16
CRs-Fixed: 2966549
2021-06-23 22:53:04 -07:00
Madan Koyyalamudi
a524b1731e Release 2.0.8.19T
Release 2.0.8.19T

Change-Id: I867e921f7f67593c5828f1dda1f91d0bc1556f11
CRs-Fixed: 774533
2021-06-23 14:18:24 -07:00
Vulupala Shashank Reddy
90cf964200 qcacld-3.0: Allow qos null frames in packet capture mode
Do not drop qos null frames in packet capture. so remove
check for qos null frames in packet capture mode.

Change-Id: Ie3a700cbc5a7e582ea7cfc39ebd62880265f8f7d
CRs-Fixed: 2973279
2021-06-23 14:18:24 -07:00
Vulupala Shashank Reddy
4c6665c5ef qcacld-3.0: Pkt capture config for qos null and trigger frames
Provide ucfg api to configure qos null and trigger frames.

Ucfg api will send configuration to FW. Below configuration values
are allowed.

PACKET_CAPTURE_CONFIG_TRIGGER_QOS_DISABLE: disable capture for
trigger and qos frames.
PACKET_CAPTURE_CONFIG_TRIGGER_ENABLE: enable capture for trigger
frames only.
PACKET_CAPTURE_CONFIG_QOS_ENABLE: enable capture for qos frames only.
PACKET_CAPTURE_CONFIG_TRIGGER_QOS_ENABLE: enable capture for both
trigger and qos frames.

The packet capture config old value will be over written by new value.
For example, first if we configure value as
PACKET_CAPTURE_CONFIG_TRIGGER_ENABLE and then if we send config as
PACKET_CAPTURE_CONFIG_QOS_ENABLE then config is enabled only for qos.

Change-Id: I02dcd4372c7194ec3e477694ad0e2c045fe6c942
CRs-Fixed: 2967824
2021-06-23 14:18:19 -07:00
Madan Koyyalamudi
3c89e02b56 Release 2.0.8.19S
Release 2.0.8.19S

Change-Id: Ib72cd82067ddc2a0adef1bdc78851697e3720571
CRs-Fixed: 774533
2021-06-23 09:59:29 -07:00
Abdul Muqtadeer Ahmed
2458ae3766 qcacld-3.0: Add a check for new feature capability
Advertize the DBS capability in the get feature vendor command
if device supports DBS.

Change-Id: Icd8e8de7e188e9c5a3041460e6316cdf2b8ebff1
CRs-Fixed: 2820800
2021-06-23 09:59:29 -07:00
Madan Koyyalamudi
643fa5cd01 Release 2.0.8.19R
Release 2.0.8.19R

Change-Id: Ie128bdbe9a068da856130cc65a0365bd1bfcf35b
CRs-Fixed: 774533
2021-06-23 03:19:43 -07:00
Utkarsh Bhatnagar
2118fe4c44 qcacld-3.0: Vendor cmd to set SW retry threshold value
The following vendor cmd can be used to set the
sw retry threshold per vdev for all AC:

Aggresive:     QCA_WLAN_VENDOR_ATTR_CONFIG_AGG_RETRY
Non-Aggresive: QCA_WLAN_VENDOR_ATTR_CONFIG_NON_AGG_RETRY

Change-Id: I49d88ae1f3f6142d8a420fd92f6f40bf3aad03e6
CRs-Fixed: 2945913
2021-06-23 03:19:43 -07:00
Utkarsh Bhatnagar
0fde35d906 qcacld-3.0: Change timeout for TDLS mgmt frames
Reduce the timeout to wait for TDLS mgmt to
complete from 11 seconds to 3 seconds.

Also, Allow Tx data frame if no ack/nack is
received even after 2 seconds for last data
frame.

If last data frame is sent and no ack/nack
is received within 2 seconds, then drop the
new data frame.

Change-Id: If3294908cb1399c3b4c8931b80663671400bf610
CRs-Fixed: 2966308
2021-06-23 03:19:37 -07:00
Sai Pavan Akhil Remella
f8e00abfda qcacld-3.0: Fix connection issue in 11n-only mode when AP is in 11AC/AX
Currently when gDot11Mode=6 (11n only) is configured in ini and AP
is operating in 11n mode the STA is connecting in HT mode, but when
AP is operating in 11AC/11AX mode then STA is connecting in legacy
mode i.e 11b/g/a. This is due to check which compares phymode of
BSS is 11n or not but failed to check BSS phymode is 11ac/ax.
Due to this there is mismatch in phymode and mode is downgraded
to legacy.
These changes will perform the check and allow STA to connect in
11n.

Change-Id: I8196b44db5a12fbba39ffcf58202fa1863b1c4b4
CRs-Fixed: 2965287
2021-06-23 03:19:33 -07:00
Ashish Kumar Dhanotiya
93747ad99e qcacld-3.0: Reset channel switch in progress on deinit ap
Currently if channel switch is in progress and if deinit
ap comes, channel switch does not gets complete and driver
does not reset channel switch in progress in adapter. Now
if driver receives channel change cb in hdd from regulatory,
it tries to restart the sap according to updated channel list,
but it waits for channels switch in progress to be completed
by taking the netdev reference for SAP adapter and this wait is
of 2 seconds, in this time if del virtual interface comes for
SAP adapter comes in that case it will detect the net dev ref
leak as one net dev ref is taken by country change work.

To address above issue, complete the channel change on deinit
ap mode and also check if SAP is started in country change
work before starting to wait for channel switch in progress.

Change-Id: I349e217a94093b3751310d4f7378fb6585f77743
CRs-Fixed: 2969343
2021-06-22 21:45:44 -07:00
Madan Koyyalamudi
0a0c0dbfaa Release 2.0.8.19Q
Release 2.0.8.19Q

Change-Id: I3c549833bc2db002bf536bf0dc4c3e8e0173d521
CRs-Fixed: 774533
2021-06-22 21:08:43 -07:00
Kiran Kumar Lokere
1015549545 qcacld-3.0: Config support for STA bss color collision detection
Add INI configuration support to enable/disable BSS color collision
detection offload in STA mode.

Change-Id: I9d8f096813d74242566ccae5f92e872bcaca6295
CRs-Fixed: 2965133
2021-06-22 21:08:43 -07:00
Madan Koyyalamudi
06dae2f088 Release 2.0.8.19P
Release 2.0.8.19P

Change-Id: Ia06a6c114c39d4a1bc63a5b1d67af638cb4d5b02
CRs-Fixed: 774533
2021-06-21 20:52:33 -07:00
Alan Chen
5134cff143 qcacld-3.0: Add debug log for prevent suspend
Add debug log to find more details when PCIe link suspend is not allowed.

Change-Id: I0305f6aaabfcff630e863018a7e768531a9cb890
CRs-Fixed: 2963988
2021-06-21 20:52:33 -07:00
Madan Koyyalamudi
864bbe3ad3 Release 2.0.8.19O
Release 2.0.8.19O

Change-Id: I3ba741340b8eb56fab069835d733a53f53e7e673
CRs-Fixed: 774533
2021-06-21 17:04:56 -07:00
Sachin Ahuja
ccbf7d5494 qcacld-3.0: Check band caps before initializing wiphy band
Currently driver initializes the wiphy 6ghz band without
checking the band capability. If FW does not support 6Ghz
then wiphy register is failed as wiphy 6ghz band is initialized
by driver.

To fix this, initialize the wiphy 6ghz band only when host
driver and FW both supports 6Ghz band.

CRs-Fixed: 2968968
Change-Id: I28d660f515d16d0eb4245311b42c69308576ac62
2021-06-21 17:04:56 -07:00
Madan Koyyalamudi
f01e822cca Release 2.0.8.19N
Release 2.0.8.19N

Change-Id: Ide89738fef85ea406cc016baa64546e54e4a2aad
CRs-Fixed: 774533
2021-06-21 11:09:04 -07:00
Jianmin Zhu
961f4dc92f qcacld-3.0: Fix memory leak of assoc req
When SME/CSR layer received assoc indication, can't get session id by
bssid in some cornel cases, assoc req is leaked.

Change-Id: I877887fc0e2fe79a4ade53ba4aebc158fe480c28
CRs-Fixed: 2964966
2021-06-21 11:09:04 -07:00
Madan Koyyalamudi
766376c608 Release 2.0.8.19M
Release 2.0.8.19M

Change-Id: Ic8f033198c99d74a6922a7dfce8113d5979f225b
CRs-Fixed: 774533
2021-06-18 14:53:13 -07:00
Lincoln Tran
cf4a7f5bf4 qcacld-3.0: Change LIM error message to debug
When receiving management frames, there can be excessive error logs.
Change these to debug prints.

Change-Id: I78a281bdc32bee580ed3470406163a77b43fac9b
CRs-fixed: 2968877
2021-06-18 14:53:13 -07:00
Madan Koyyalamudi
9dc586c704 Release 2.0.8.19L
Release 2.0.8.19L

Change-Id: I59de5ddaa7751aa237f230a7540ad2bdbae558cb
CRs-Fixed: 774533
2021-06-18 03:25:01 -07:00
Manikanta Pubbisetty
e2de05aa20 qcacld-3.0: compare FSE metadata when REO ID mismatches
When an existing flow is evicted, there is chance that the
REO ID of the newly added flow and the inflight packets of the
evicted flow mismatch. In such cases, check the FSE metadata of
the flow with that of the packet instead of triggering a BUG().

Change-Id: I7412055101fb72f7b28db615672e88837d79e8d3
CRs-Fixed: 2968500
2021-06-17 21:04:04 -07:00
Madan Koyyalamudi
9f72e2335f Release 2.0.8.19K
Release 2.0.8.19K

Change-Id: I3ae377971ac8103f54ee0fd47ad3d91b21a1af2b
CRs-Fixed: 774533
2021-06-17 08:47:59 -07:00
abhinav kumar
2964e46e50 qcacld-3.0: Dont allow SAP on indoor channel
In case of STA + SAP concurrency and STA is on indoor channel.
Dont allow SAP to turn on, irrespective of DBS, MCC or SCC mode
of concurrency, if STA + SAP concurrency not allowed
on indoor channel.

Change-Id: I79582f88e81cb2c95d2da2480d1e3d7a8b86906f
CRs-Fixed: 2967952
2021-06-17 08:47:59 -07:00
Madan Koyyalamudi
4e70761ff1 Release 2.0.8.19J
Release 2.0.8.19J

Change-Id: I7f097b1d1c1afcd8f3e6b92fe99ef92b263a12ce
CRs-Fixed: 774533
2021-06-17 07:11:15 -07:00
Ashish Kumar Dhanotiya
ac02cf6149 qcacld-3.0: Add and use vdev id from ll stats request
Currently host relies on fw for vdev id for ll_stats
response but FW does not send the vdev id in response
of radio stats and peer stats as response of the ll_stats
request. Host needs this vdev id to get the adapter on
which the ll_stats request is received so that is can process
and send the response back to user space.

To address above issue add vdev id in request private
structure and when receives response from the FW, extract
this vdev id from private structure.

Change-Id: I28c411aea852b36cd1a13174e87adfa7972fc077
CRs-Fixed: 2964782
2021-06-17 07:11:14 -07:00
Madan Koyyalamudi
5614358880 Release 2.0.8.19I
Release 2.0.8.19I

Change-Id: Ibdf461f871df9dab1a2a960c7e15642e87866a69
CRs-Fixed: 774533
2021-06-16 22:19:49 -07:00
Ashish Kumar Dhanotiya
2e155a88b8 qcacld-3.0: Replace channel num with freq in wlan_hdd_set_channel api
Currently api wlan_hdd_set_channel is using channel number to validate
requested frequency, this function converts center frequency to
channel number and again converts this channel number to frequency
to validate this channel, which may cause issues when 6GHz SAP
tries to come up.
For example if center freq is 6015 and current country is set
to US, with current logic first this frequency is converted to
channel number which comes to be channel number 13 and then this
channel number is converted back to freq and gets validated. As
channel 13 is invalid in US this validation fails even though
freq 6015 is valid frequency in US.

TO address above issue, remove this converion of center freq to
chan num and chan num to freq, instead used center frequency
directly for any kind of validatoin.

Change-Id: Iec86c7f42e3f7e786f89df28f53ca71f67defc24
CRs-Fixed: 2970037
2021-06-16 22:19:49 -07:00
Deeksha Gupta
d9ace944d2 qcacld-3.0: Add new timer for roam invoke response
Host driver sends roam invoke command to firmware as part
of supplicant initiated reassociation or nud failure.
In response, firmware sends roam synch indication if
roaming is successful or roam invoke fail or handoff failure
if roaming failed. On sending the roam invoke command, host
driver sets the roam_invoke_in_progress flag to true.
This flag is checked when scan request is received to avoid
scan during roam invoke. If firmware is not able to respond
to the roam invoke event, then the roam_invoke_in_progress
flag is set indefinitely resulting in continuous scan
rejection.

Add a new roam_invoke_timer timer and start this
wakeable timer after roam invoke command is sent to
firmware. On timeout reset the roam invoke in progress flag.
And host ignore the roam invoke response if firmware sends
roam invoke response without roam invoke request.

Change-Id: I5ca4497e06a26c3bec38bf401ae2bf77a6eade5e
CRs-Fixed: 2917870
2021-06-16 22:19:44 -07:00
Madan Koyyalamudi
4d19cdfa83 Release 2.0.8.19H
Release 2.0.8.19H

Change-Id: If16984293314fa6b14be57c14bfba977c044aef5
CRs-Fixed: 774533
2021-06-15 11:33:59 -07:00
Jyoti Kumari
8410a79c5f qcacld-3.0: Remove flush work from TWT kworker thread
wlan_twt_concurrency_update() calls the flush work internally.
So when the caller calls wlan_twt_concurrency_update api in
schedular context, flush work will block the schedular thread for
4 sec(twt enable/disable timeout value is 4sec). Because of this
the other request will be block till this time.

As part of fix, remove flush work and reduce twt enable/disable
timeout to 1 sec

Change-Id: I8f16da44b21cf54fcf2256aaef53371431e64aac
CRs-Fixed: 2963695
2021-06-15 11:33:59 -07:00
Madan Koyyalamudi
f70ecf07d6 Release 2.0.8.19G
Release 2.0.8.19G

Change-Id: I895f5dadbc988b124e97eefb7bdb475ee8740ab9
CRs-Fixed: 774533
2021-06-15 07:16:19 -07:00
Sandeep Puligilla
52019e4574 qcacld-3.0: Define A_OFFSETOF macro
Define A_OFFSETOF macro to fix compilation
errors.

A_OFFSETOF macro is mapped to macro offsetof()
defined in stddef.h.

Change-Id: I766826d610fcb6a06775f07bcd8a041ee29be89b
CRs-Fixed: 2967130
2021-06-15 01:53:28 -07:00
Madan Koyyalamudi
6bb530efa2 Release 2.0.8.19F
Release 2.0.8.19F

Change-Id: If3f89c3972fc95881692c17841977d29db78c277
CRs-Fixed: 774533
2021-06-14 13:10:43 -07:00
Srinivas Dasari
8864bb3ac4 qcacld-3.0: Move cp stats to scheduler thread from kworker thread
Currently, cp stats are received through kworker thread context.
This causes race conditions/out of sync issues if any common data
structures are handled in parallel in scheduler thread context.
There is no need to receive the cp stats on kworker thread as per
current design. So, move the cp stats event handling to scheduler
thread to avoid any race conditions.

Change-Id: Id8134003e6f7a3e0368b20c496f650e0b7025b9e
CRs-Fixed: 2928876
2021-06-14 13:10:43 -07:00
Pragaspathi Thilagaraj
094c6bd356 qcacld-3.0: Add support to retain WTC params across disconnection
The WTC parameters are stored in MLME vdev private object.
So the parameters are cleared once vdev delete is done.

Move the WTC parameters to psoc->mlme_cfg to retain the
values across disconnections.

Change-Id: Icecfbef19af994f8a05622501d435bfb63beca50
CRs-Fixed: 2959715
2021-06-14 13:10:38 -07:00
Madan Koyyalamudi
cab99f6ec4 Release 2.0.8.19E
Release 2.0.8.19E

Change-Id: I82bb9d3e44ded21fa1e22238bad17c698e2eac6e
CRs-Fixed: 774533
2021-06-14 10:59:33 -07:00
Dundi Raviteja
2d69ea0afc Revert "qcacld-3.0: Disable unit test config"
This reverts commit 422fba77cc.

Change-Id: Ie0c977f179274d02bbaa9187432bdfd4847e02f6
CRs-Fixed: 2967535
2021-06-14 10:31:14 +05:30