Commit graph

22,213 commits

Author SHA1 Message Date
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
Naman Padhiar
f3bbbede3c qcacld-3.0: Return correct value from PLD layer
For APsI pld_get_mhi_state() and pld_is_pci_ep_awake() return
proper value for buses other than IPCI where these APIs are not
supported.

Change-Id: I2dfe8118d29aa2bc75484ff4d708b21eba264350
2021-06-08 01:30:00 -07:00
Madan Koyyalamudi
c9f6534561 Release 2.0.8.18V
Release 2.0.8.18V

Change-Id: I8f7a90c74adf26418e63fe3caed4fd16b5c32bcc
CRs-Fixed: 774533
2021-06-07 01:29:58 -07:00
Ashish Kumar Dhanotiya
887edeb65e qcacld-3.0: Move call to hdd power stats callback inside lock
Currently when host receives power stats from fw, before
processing these stats it check for the hdd callback and
processes these stats only if hdd callback is registered.
This callback is checked in
wma_unified_power_debug_stats_event_handler function before
processing of the fw event and outside of any lock. After
processing stats, this hdd cb is invoked, there is an issue
with this approach that while processing these stats if timeout
happens in hdd then hdd sets its callback as NULL and now after
processing stats wma handler invokes this hdd cb which is already
NULL, leading to null pointer dereference.

To avoid above issue, add sme callback and move null check for
hdd cb and call to hdd cb inside sme lock which is the same lock
used while setting hdd cb to null on timeout.

Change-Id: I2203083a17ca3404c5c5af98ddc48ba127e6aee2
CRs-Fixed: 2950633
2021-06-03 21:40:23 -07:00
Madan Koyyalamudi
cb63b408fd Release 2.0.8.18U
Release 2.0.8.18U

Change-Id: I9c933051755dacf408f3c12c4cedee42533419f9
CRs-Fixed: 774533
2021-06-03 16:09:26 -07:00
Pragaspathi Thilagaraj
91262aa092 qcacld-3.0: Update WTC params only if the WTC attribute is present
Currently driver updates the WTC global parameters irrespective
of the WTC attributes present in the vendor command.
This causes the WTC parameters to be reset and WTC roam
trigger doesn't happen.
For example, with below sequence of commands:
wpa_cli DRIVER setwtcmode 0 1 -40 -95 -90 -85
wpa_cli DRIVER ADDROAMSCANFREQUENCIES_LEGACY 19 2412 2417 2422
The WTC parameters TLV is not included in the RSO
update command.

Update the WTC params only if the WTC attribute is present.

Change-Id: I53e5d934368169069dbf059335859936d320aa4e
CRs-Fixed: 2954458
2021-06-03 16:09:26 -07:00
Pragaspathi Thilagaraj
41f8b208f4 qcacld-3.0: Add support for candidate AP RSSI in different bands
Currently in WTC mode the candidate AP RSSI threshold
configuration is applied for candidates on all band.

Add support to configure the candidate AP RSSI threshold for
different bands.

Change-Id: I94442c0f1bd3ea20dc2f5ebe893a9ead7fb8d890
CRs-Fixed: 2951610
2021-06-03 16:09:22 -07:00
Madan Koyyalamudi
ac3d7f75f6 Release 2.0.8.18T
Release 2.0.8.18T

Change-Id: I52f10b5d09f6383c1196361c4a74c93cdbf362b0
CRs-Fixed: 774533
2021-06-03 12:21:47 -07:00
Ananya Gupta
24dbcc0108 qcacld-3.0: Increase timeout for vdev_del_event
Race condition occurred as rx_thread did not get scheduled
before timeout and gro flush happened in vdev context. At
the same time, rx thread got scheduled and add skb to the
napi queue resulting in crash.
To fix this, Increase the timeout value so rx_thread gets
time to wake up, do gro flush and reset the vdev_del_event.

Change-Id: I2075eda91b1568cce3083869f510fc212dd721f8
CRs-Fixed: 2949803
2021-06-03 12:21:47 -07:00
Madan Koyyalamudi
0d55a68ce2 Release 2.0.8.18S
Release 2.0.8.18S

Change-Id: I7009b051948f2ac0add203c3a116accea06eea11
CRs-Fixed: 774533
2021-06-03 10:28:19 -07:00
Naman Padhiar
2bf15384a2 qcacld-3.0: Add support for new uevent from ICNSS2
Add support in PLD layer to handle uevent ICNSS_SMMU_FAULT.

Change-Id: Idf89467f9041281f824ad4c9b2386cbfcee27105
2021-06-03 10:28:19 -07:00
Madan Koyyalamudi
e3548349a1 Release 2.0.8.18R
Release 2.0.8.18R

Change-Id: I34e4846e243aca9241e2d3d7283a387571009f74
CRs-Fixed: 774533
2021-06-02 16:51:02 -07:00
Karthik Kantamneni
92cb9fa130 qcacld-3.0: Fix use after free during RX thread enqueue
Currently nbuf is being used to get gso segments after enqueue
to DP RX thread, this will lead to use after free issue because
RX thread may process and even free the buffer by the time nbuf
is accessed for getting gso segments in enqueue/softirq context.

Fix this by updating gso segments before nbuf enqueue to DP RX thread.

Change-Id: I2cc93bf9a44e2d487c1a6d474349cf5c0c5db76a
CRs-Fixed: 2958132
2021-06-02 16:51:02 -07:00
Madan Koyyalamudi
1f90252fae Release 2.0.8.18Q
Release 2.0.8.18Q

Change-Id: Ib838f7883a4e89d34cad570da9232dfe927228ab
CRs-Fixed: 774533
2021-06-02 14:38:49 -07:00
Liangwei Dong
bc82e1454d qcacld-3.0: Check channel bond mode for 2.4G ACS
If 2.4G 40MHz is disabled by channel bond mode ini -
gChannelBondingMode24GHz, override 2.4G ACS result
to 20Mhz channel width. Otherwise hostapd will
start ap failed on 40Mhz channel because the HE cap
has no 40Mhz bw supported.

Change-Id: I943621bf847491983f0654f7ae495fc970114575
CRs-Fixed: 2951620
2021-06-02 14:38:48 -07:00
Madan Koyyalamudi
fb014c56f7 Release 2.0.8.18P
Release 2.0.8.18P

Change-Id: Ic85f3f8566ae2d846b18e7dde9048f6e38a991be
CRs-Fixed: 774533
2021-06-02 02:50:24 -07:00
Srinivas Dasari
164404339b qcacld-3.0: Allocate NDP_END wait context before posting msg
Currently, osif_request_alloc is done and waiting for response
after posting the message NDP_END_REQ. But this may lead to
invalid memory access if message gets processed in scheduler
thread and response also comes before the request is allocated.

Allocate the request before sending message to avoid this.

Change-Id: I88b0a8be229e779526f0f3cf184b191e00872ee8
CRs-Fixed: 2782045
2021-06-02 02:50:23 -07:00
Madan Koyyalamudi
3f52765f38 Release 2.0.8.18O
Release 2.0.8.18O

Change-Id: I0e261748b68d389fe02bfac2dff0d2036cdabc54
CRs-Fixed: 774533
2021-06-02 00:44:59 -07:00
gaurank kathpalia
ed0edfaa6c qcacld-3.0: Inform userspace about stop ap
Currently the driver does not inform userspace when
there is no channel available for the SAP to restart.
This case can happen if all the channels in the spectrum
are unsafe, in NOL list, SRD etc. and the driver cannot
find a safe channel.

Fix is to inform userspace about this scenario of
driver stopping the SAP.

Change-Id: I77f7a5156c8f7b1da29023675d5a7a448be0fb92
CRs-Fixed: 2815265
2021-06-02 00:44:59 -07:00
Madan Koyyalamudi
07435288d5 Release 2.0.8.18N
Release 2.0.8.18N

Change-Id: I10af0d39dd06e4d496b9f3c0093db6c59afd4d91
CRs-Fixed: 774533
2021-06-01 23:00:59 -07:00
Karthik Kantamneni
8f4ead471f qcacld-3.0: Handle ipa pipes setup failure in wlan_ipa_uc_ol_init
When ipa setup pipes fails in wlan_ipa_uc_ol_init API,
tx buff mapping is not done but during deinit path
tx buff unmapping is called without mapping.

Fix this by resetting uc_loaded flag to false when ipa pipes
setup failure is encountered.

Change-Id: Ic34320e56cee9e60381d9203dd95e268d0ef392b
CRs-Fixed: 2957612
2021-06-01 23:00:59 -07:00
Madan Koyyalamudi
ebbb010d93 Release 2.0.8.18M
Release 2.0.8.18M

Change-Id: Ia25eab02559049ef885624daff5f85a6ec16cdbf
CRs-Fixed: 774533
2021-06-01 18:54:14 -07:00
Srikanth Marepalli
bb309c2681 qcacld-3.0: CCX roam fails due to invalid KRK and BTK Keys
Currently the KRK and BTK Keys are not copied from the supplicant
to the buffer in RSO command. Hence the NULL KRK and BTK keys are
generating invalid MIC key in Firmware for CCX roaming. And so
the CCX roam fails.
This fix copies the valid KRK and BTK keys from Session to the
ese structure in the RSO command.

Change-Id: I2f567f75dd74189becb40ec9a1f906ab0d870584
CRs-Fixed: 2958938
2021-06-01 18:54:13 -07:00
Ashish Kumar Dhanotiya
9a3263f9a9 qcacld-3.0: Add support to accept frequency for ch switch command
Currently channel switch command accepts only channel number as
parameter but with 6GHz changes channel switch can come for the
6GHz channel as well and to support 6GHz channel switch frequency
needs to be accepted as parameter.

To address above issue add support to accept frequency as
parameter for channel switch command.

Change-Id: I38978348c0d70e3e860d4644b4664f8775ecb777
CRs-Fixed: 2931485
2021-06-01 18:54:08 -07:00
Ashish Kumar Dhanotiya
a3c8090395 qcacld-3.0: Consider secondary channel list for ACS
Currently driver does not consider secondary channel list
for ACS which needs to be used for SAP related operations and
because of that in sap get freq list driver is selecting some
frequencies which are not valid for SAP operation and from
frequencies driver selects ACS frequency and gives to upper
layer resulting in an invalid ACS frequency to user space.
Now when user space tries to start ap on this frequency, SAP
doesn't come up on this frequecy as this is invalid frequency
for SAP.

To address above issue consider secondary channel list for ACS
in sap get freq list so that only valid frequencies for SAP
are selected for ACS.

Change-Id: Ic7f1cb8134615a9195884d55bfb8111898ff74cb
CRs-Fixed: 2955162
2021-06-01 18:54:04 -07:00
Madan Koyyalamudi
a78086ec60 Release 2.0.8.18L
Release 2.0.8.18L

Change-Id: Ie2c5946ccf473f725c9f6fa3a507eaaab7ca292e
CRs-Fixed: 774533
2021-06-01 07:52:21 -07:00
Abhishek Singh
989cced6ab qcacld-3.0: Fix NULL vht_caps in lim_ft_prepare_add_bss_req
In lim_ft_prepare_add_bss_req due to change
Ic4a992acfce186f7248dcc99d0c7b44ce38f099b the action was removed
but if condition was not removed. This left over if condition is
causing the vht_caps to be NULL in VHT20 case.

Fix this by removing the left over if condition so that vht_caps
is filled all the time.

Change-Id: I196fd3cfb44fa3281b9843a61242520e0888d2c4
CRs-Fixed: 2958411
2021-06-01 07:52:21 -07:00