Commit graph

22,239 commits

Author SHA1 Message Date
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
Madan Koyyalamudi
1d33ca7bae Release 2.0.8.19D
Release 2.0.8.19D

Change-Id: If31bbc6310ce67905f2e38daa24daa82cd3ad332
CRs-Fixed: 774533
2021-06-11 02:59:00 -07:00
Dundi Raviteja
422fba77cc qcacld-3.0: Disable unit test config
Disable unit test config as it causes
compilation failure with 32-bit compilation flags.

Change-Id: I296ffd97d1f2aae0151bd66f8b7527e5ee2a827a
CRs-Fixed: 2967200
2021-06-11 02:59:00 -07:00
Madan Koyyalamudi
c406e698f2 Release 2.0.8.19C
Release 2.0.8.19C

Change-Id: I695a9be9b9b679d5baab87796275d9ff7ece95b6
CRs-Fixed: 774533
2021-06-10 11:59:47 -07:00
abhinav kumar
cda1c99777 qcacld-3.0: Possible buffer overflow issue in wma
Possible bufer overflow risk in function
wmi_unified_bcn_tmpl_send.

Validate the beacon template length against
WMI_BEACON_TX_BUFFER_SIZE length to avoid overflow.

Change-Id: I98665de677f314f30a57991f48191f847718740c
CRs-Fixed: 2960714
2021-06-10 11:59:47 -07:00
Madan Koyyalamudi
450556abfe Release 2.0.8.19B
Release 2.0.8.19B

Change-Id: I2584e2f6ef1b98a0c569c299633904b2a8a51ca7
CRs-Fixed: 774533
2021-06-10 09:09:49 -07:00
Manjunathappa Prakash
4e5c2baa51 qcacld-3.0: Enable handling of buf_addr_type desc in dp_rx_err
Enable compile macro to handle buf_type decriptor in dp_rx_err_process.

Change-Id: Ibdec18b9b749f18b1e9d704974f4cbaabbc4e6a7
CRs-Fixed: 2957094
2021-06-10 01:26:13 -07:00
Madan Koyyalamudi
9906fe3723 Release 2.0.8.19A
Release 2.0.8.19A

Change-Id: Id68967d51428a00e683caead117e6d0cfdf46be1
CRs-Fixed: 774533
2021-06-10 01:01:05 -07:00
Yu Wang
1f4fe83ad8 qcacld-3.0: reject NAN request if any other connection is in progress
Processing multiple connection requests at the same time may break
concurrency checking and result in unexpected behavior, to avoid
that, reject NAN extended request if any other connection is in
progress.

Change-Id: I95a6a5ab27a923c42af76355033267fe7ca453eb
CRs-Fixed: 2959292
2021-06-10 01:01:05 -07:00
Madan Koyyalamudi
de0b6bd6f1 Release 2.0.8.19
Release 2.0.8.19

Change-Id: I80126822c114aeebd044fbda671f5649ef5e50e1
CRs-Fixed: 774533
2021-06-09 22:56:09 -07:00
Srinivas Dasari
9efb8a164e qcacld-3.0: Move NAN log events to RX_WORK context
Firmware sends NAN log events to driver and these are logged
with info level to capture complete NAN state machine logs in kmsg.
Currently, these events are received/processed in soft IRQ context
and causes performance issues as logs introduce delays. Move the
event registration to RX_WORK context to avoid delays.

Change-Id: I15ba20059f55f002cfe276d62e68e3cc09136a23
CRs-Fixed: 2960359
2021-06-09 22:56:09 -07:00
Wu Gao
6d7cd0ac81 qcacld-3.0: Update definition about HDD_INVALID_GROUP_ID
There is potential issue about array access out of bounds when set
CFR configuration. Since HDD_INVALID_GROUP_ID - limit index of array
is different to MAX_TA_RA_ENTRIES - array size. This change redefines
HDD_INVALID_GROUP_ID and lets it same to MAX_TA_RA_ENTRIES.

Change-Id: I5e30c8d2ce93736467cae465b06a1e28e93458d5
CRs-Fixed: 2960584
2021-06-09 22:56:04 -07:00
Madan Koyyalamudi
6578a50a31 Release 2.0.8.18Z
Release 2.0.8.18Z

Change-Id: If7c4eebed34434dea0b45a3e4c18eacb02661e3e
CRs-Fixed: 774533
2021-06-09 13:46:01 -07:00
Jianmin Zhu
b1cfca90d3 qcacld-3.0: Failed to roam to all band after dual sta enabled
For dual sta case, if vdev0 disconnected before vdev2 disconnected, vdev0
PCL cmd retained vdev level, after vdev0 reconnected first, just allowed
intra band in PCL, only can roam in intra band.

Fix: When vdev disconnect, reset it's PCL cmd to pdev level.

Change-Id: I3ed3ec398cfe1a17d07ce716c27026b9660305bd
CRs-Fixed: 2960194
2021-06-09 13:46:01 -07:00
Srikanth Marepalli
30a378c552 qcacld-3.0: Don't send PCL command for P2P vdev
Set PCL command should be sent to firmware only for STA mode.
For P2P vdev, except the connected band, the other band channels
are marked disallowed. With this, if the set PCL command is sent
then STA can't roam to the disallowed channels.

Hence don't send PCL command if the vdev opmode is not Station.

Change-Id: I6c4917f75d5f14169e2c564d5f6deee819fb629a
CRs-Fixed: 2939148
2021-06-09 13:45:57 -07:00
Madan Koyyalamudi
1707c23989 Release 2.0.8.18Y
Release 2.0.8.18Y

Change-Id: I2dabcd1e980c524a18e39210d95fa378a7edbbc2
CRs-Fixed: 774533
2021-06-08 18:13:35 -07:00
Srikanth Marepalli
c5e64e4f2d qcacld-3.0: Enhance the EAPOL handshake offload INI per AKM
Existing INI disable_4way_hs_offload is defined as a boolean
that controls the EAPOL Handshake to be offloaded to Firmware or
Not. There is no way to specify the EAPOL offload per AKM.

Hence extended the support of EAPOL handshake offload to firmware
per AKM by converting this INI to a bitmap integer.
With ini value as 0 by default Firmware takes care of 4-way HS
during roam for all AKMs except for SAE and OWE. If
this ini value is 1 then Host takes care of EAPOL for all AKMs.

Having the backward compatibility, added a new value to ini.
If this ini value is set to 2 and also if the SAE EAPOL offload
service bit is set by Firmware then the behavior is same as ini
with 0 except that Firmware takes care of 4-way HS for SAE roam
as well. And for OWE it is still handled by supplicant.

To achieve this, new roam offload flag is introduced to indicate
Firmware about SAE roam EAPOL offload, So that in Roam sync
indication Firmware will inform the status as connected but not
authenticated so that supplicant can take care of 4-way EAPOL HS.

Change-Id: I8b65a1768fad91fac7e427712d3ccf4586176f5f
CRs-Fixed: 2955029
2021-06-08 18:13:35 -07:00
Ashish Kumar Dhanotiya
f9f99377cd qcacld-3.0: Allow SAR safety feature for DBS as well
Currently SAR safety feature works only for sar version 2
and it does not work for dbs.

To support SAR safety feature for DBS update sar version
check to block it only for sar version 1.

Change-Id: Iff9ab94fc0667cce7a0d1ab44d7393dacfb2745b
CRs-Fixed: 2959558
2021-06-08 18:13:31 -07:00
Madan Koyyalamudi
718bc8d8c3 Release 2.0.8.18X
Release 2.0.8.18X

Change-Id: I55b86f971fe1aae26dd784e4a28901bbd5e60e23
CRs-Fixed: 774533
2021-06-08 12:07:07 -07:00
Abhishek Ambure
0a1e7f60fb qcacld-3.0: Enable sae auth retry for P2P CLI mode
Diver SAE auth frames for P2P via SME-LIM so that SAE auth retry
logic takes effect for P2P CLI interface. Add support to handle
SAE auth timeout for P2P CLI.

Change-Id: Ie01d7acf729974f8894223611a727a9b1680ba2d
CRs-Fixed: 2956475
2021-06-08 12:07:07 -07:00
Bapiraju Alla
4c46d7797f qcacld-3.0: Add support to cache north bound commands during SSR
Driver receives interface down/del virtual interface commands from kernel
with rtnl lock held. In driver, these commands will wait for SSR to be
completed. So in this case rtnl lock will be held for long time.

To avoid this, cache the north bound command received during SSR and
execute them in re-initialization sequence.

Change-Id: I5b4ca8e04c80e1cef49d137532198283aa35165f
CRs-Fixed: 2740368
2021-06-08 12:07:00 -07:00
Abhishek Ambure
d83b9685df qcacld-3.0: Add support to send cfr data via nl events
User configures CFR data transport mode using vendor command
QCA_NL80211_VENDOR_SUBCMD_PEER_CFR_CAPTURE_CFG and attr
QCA_WLAN_VENDOR_ATTR_PEER_CFR_DATA_TRANSPORT_MODE. Host sends
CFR data to userspace via relayfs if transport mode set is
QCA_WLAN_VENDOR_CFR_DATA_RELAY_FS else if transport mode is set
to QCA_WLAN_VENDOR_CFR_DATA_NETLINK_EVENTS, host sends CFR data
via NL events. By default transport mode is relayfs.
To get CFR data as unicast NL events, user configures PID of a
process using vendor attr
QCA_WLAN_VENDOR_ATTR_PEER_CFR_DATA_RECEIVER_PID. By default CFR
data NL events are broadcast.

Change-Id: Ifc2694fa3b21dc01f25da2219deb367375a48475
CRs-Fixed: 2953290
2021-06-08 12:06:55 -07:00
Madan Koyyalamudi
74672bd46d Release 2.0.8.18W
Release 2.0.8.18W

Change-Id: Ie46059420aa56c6e34148587588359da1edbbe5b
CRs-Fixed: 774533
2021-06-08 01:30:14 -07:00
Jyoti Kumari
ed6ae35758 qcacld-3.0: Handle SAP concurrency in CSA and NAN/NDI case
TWT is supported in STA/SAP vdevs and it's allowed only in
DBS/Standalone case and not in SCC/MCC. Disable SAP TWT if
1. Concurrency occurs in SAP + NAN/NDI vdev
2. SCC/MCC occurs after CSA

Change-Id: Id1400bd5555d2f48590d7d3ad7c70162d1dd92fb
CRs-Fixed: 2942959
2021-06-08 01:30:13 -07:00
Jyoti Kumari
73bfed8cd6 qcacld-3.0: Handle SAP TWT concurrency scenario
TWT is allowed only in DBS/Standalone case and not in SCC/MCC.
Handle TWT if any session request comes in SCC/MCC or DBS case
as per below:
1. If TWT session request comes on standalone SAP then peer
   client will initiate the session and not from userspace
   (SAP DUT)
   a. Send twt responder enable command and
   b. Send twt requestor disable command to firmware
2. If session request comes on standalone STA then
   a. Send twt requestor enable command and
   b. Send twt responder disable command to firmware
3. If two vdevs are up and SCC/MCC exist
   a. Send beacon template with twt responder disable command to
      SAP vdev
   b. Send twt requestor disable command to STA vdev
4. If two vdevs are up in case of DBS
   a. Send requestor enable command for STA vdev
   b. Send beacon template with responder enable command for SAP
      vdev
5. If 3 port concurrency comes then
   a. Send requestor disable command to STA vdev and
   b. Send beacon template with responder disable command to SAP
      vdev

Change-Id: I65994702bb72d5006bd66b2ef57a0704a67410f7
CRs-Fixed: 2938961
2021-06-08 01:30:06 -07:00