Commit graph

21,709 commits

Author SHA1 Message Date
Mohammed Siddiq
bda2c4be27 qcacld-3.0: Add pld api to get PCI reg dump on SSR
Add pld api to get PCI register dump on FW crash due
to PCI bus failure.

Change-Id: Ie30edbe2c60b0e71912667491c9fadbbe92373c4
2021-03-03 07:36:44 -08:00
snandini
feb91356af Release 2.0.8.11V
Release 2.0.8.11V

Change-Id: I734ef0985934117d1fdb4a065d874b6fdd615021
CRs-Fixed: 774533
2021-03-02 23:41:52 -08:00
Srinivas Girigowda
1f44d239af qcacld-3.0: Inform teardown all TWT sessions in P2P client mode
When SSR happens, Inform the user space about teardown all TWT sessions
in P2P client mode also.

Change-Id: I190529724519a2520dfa190fcb10cafc398745a5
CRs-Fixed: 2879404
2021-03-02 15:57:53 -08:00
Srinivas Girigowda
6a80c77084 qcacld-3.0: Inform teardown all TWT sessions when SSR happens
When SSR happens, Inform the user space about teardown all TWT sessions.

Change-Id: I2bb321bacac02291bbea1f22e231669d911c53e7
CRs-Fixed: 2870599
2021-03-02 15:57:50 -08:00
snandini
9147cf4a2e Release 2.0.8.11U
Release 2.0.8.11U

Change-Id: I9d08d6c13eefc367a2c616b2c83496be8e4ba68f
CRs-Fixed: 774533
2021-03-02 05:51:28 -08:00
Jyoti Kumari
0a5dffb53e qcacld-3.0: Enhance existing ILP profiles setting
Currently, there are two ini option 0/1 to disable/enable ILP
profiles in HW.

Extend this option upto 3 where
0 indicates disable
1 indicates perf settings
2 indicates max power saving
3 indicates balanced settings

Change-Id: Iff41b92b84309a670e2ad301ee72fb3caaba3df3
CRs-Fixed: 2886526
2021-03-02 05:51:27 -08:00
Abhishek Singh
5b02cde5b3 qcacld-3.0: Remove disconnect event indication to kernel
As part of devices recovery, driver sends disconnect event
indication to kernel for all the interface but kernel does
not expects for NAN interface due to which frequent call trace
observed during NAN test.

Remove disconnect event indication from hdd_start_all_adapters()
and move this logic under SSR.

Change-Id: Ifa62a58264fa7c7247f8c0aa8f0ed33138572dd8
CRs-Fixed: 2848186
2021-03-02 05:51:23 -08:00
snandini
7eae7643d5 Release 2.0.8.11T
Release 2.0.8.11T

Change-Id: I0e98ee6727bf667489b8167c078321f58a228803
CRs-Fixed: 774533
2021-03-01 20:41:42 -08:00
Lincoln Tran
0af3ea008c qcacld-3.0: Add synchronization around country set
When the country is being updated via WMI, FW responds with a channel
list after some time. During this time, another event can come, blocking
the channel list from being updated. Add synchronization so that these
requests are blocked until the channel list is updated.

Change-Id: I4c1b7d33242226b8153821fdc14db54fff764c17
CRs-fixed: 2884840
2021-03-01 17:08:27 -08:00
snandini
47ddbb988e Release 2.0.8.11S
Release 2.0.8.11S

Change-Id: Idbe348bfbf2ba5837487517138a134cc8b09c2e6
CRs-Fixed: 774533
2021-03-01 15:49:28 -08:00
Vevek Venkatesan
b61b5a6186 qcacld-3.0: drop the Tx pkt if device is in system suspend
During suspend if the netif queue pause failed for some reason,
network stack may send the pkt for hard_start_xmit and will
crash due to device is in suspend state, so adding a check to
drop the pkt if device was already in system suspended.

Change-Id: I5b8f5511157f10e28297be4366fafe6e683c392b
CRs-Fixed: 2880892
2021-03-01 10:11:00 -08:00
snandini
d307f3e36b Release 2.0.8.11R
Release 2.0.8.11R

Change-Id: I70309ca6c8fdc4c1f70322663a8ad3b9d7addc46
CRs-Fixed: 774533
2021-02-28 23:09:53 -08:00
Pragaspathi Thilagaraj
d8505816d0 qcacld-3.0: Update peer TWT capabilities after roaming
While processing the roam synch indication reassoc response frame,
the new roamed peer object is not created. So call to
mlme_set_twt_peer_capabilities() to update the new peer capabilities
will fail with null peer object for new bssid. So after roaming,
update the peer TWT capabilities once the new peer object is
created.

Update peer TWT capabilities to new peer object after roaming to
avoid invalid peer capabilities.

Change-Id: Ic37bd4d96bf122b2ec3a60c1ae41650a672b9020
CRs-Fixed: 2870589
2021-02-26 08:12:50 -08:00
snandini
5ca1bd4034 Release 2.0.8.11Q
Release 2.0.8.11Q

Change-Id: I5cd47bfda1f8da2e74fe731efd993da92319d458
CRs-Fixed: 774533
2021-02-26 00:55:50 -08:00
Utkarsh Bhatnagar
d5b7105282 qcacld-3.0: Fill MCS rates of peer for TDLS
Fill MCS rates of peer for TDLS change station.

Change-Id: I9d3306ec6ec2d876dadede60a616b2fcaf46236a
CRs-Fixed: 2886245
2021-02-26 00:55:50 -08:00
Utkarsh Bhatnagar
dfb5f06bf6 qcacld-3.0: Introduce 11ax capabilities for TDLS
Introduce HE cap IEs in addstareq. Also, Add
HE capabilities in frames for TDLS Setup Req,
Setup Rsp, Discovery Rsp. Add He Operations
in TDLS setup Confirm.
Implement APIs under feature WLAN_FEATURE_11AX
which will be used to:
1) Fill HE capabilities in TDLS Discovery Response,
   TDLS Setup Request, TDLS Setup Response.
2) Fill HE operations in TDLS Setup Confirm.
3) Convert he_capa capabilities from station
   parameters to tdls tDot11fIEhe_cap type.
4) Set Chan width based on session, peer
   capabilities.

Change-Id: If36b1a3c3eed0e6026043494a097673f9d74b580
CRs-Fixed: 2883443
2021-02-26 00:55:46 -08:00
snandini
6416966df9 Release 2.0.8.11P
Release 2.0.8.11P

Change-Id: I2927c82b5ea88c4cdcddae24bafbaa93c45ac192
CRs-Fixed: 774533
2021-02-25 20:23:22 -08:00
Lincoln Tran
981b3b42d3 qcacld-3.0: Fix country IE validation logic
Update the logic to fix a potential memory leak when there is an
invalid country IE. Also update the logic to not reject the connection
in the case of an invalid country IE, since this is a bad user
experience.

Change-Id: I6a2b50a483e65554a6622dccbb0bac61331fc4fb
CRs-fixed: 2883385
2021-02-25 20:23:22 -08:00
Lincoln Tran
f493ef7ef4 qcacld-3.0: Add fixes related to 6ghz vlp feature
Fix the PSD start freq calculation for sap case.
Also, remove duplication of 6ghz freq checks in
tpc power calculation api.

Change-Id: I5f1773b551ff7b893514b5c7720c6684fc100077
CRs-fixed: 2879460
2021-02-25 20:23:17 -08:00
Gururaj Pandurangi
08fe80c89a qcacld-3.0: Fix issues related to 6ghz vlp feature
Call TPC calculation API from lim_handle_add_bss_rsp i.e.
after receiving vdev start response from FW.
TPC calculation API was called from lim_mlm_add_bss for SAP
and since this was happening before host received vdev start
response, HW limit for power from FW was zero and it
affected TPC calculation.
Also, API to check psd power flag for 6ghz returns true for
5ghz channels, so modify it to call under 6ghz channel check.
In TPE IE, max_tx_power_count values is one less than
num_pwr_levels so add 1 to count before assigning it to
num_pwr_levels for 5GHz TPE, non-PSD case.

Change-Id: I7e2ca0b6cf6c54528ade6263a87459e2c21098b2
CRs-Fixed: 2877654
2021-02-25 20:23:12 -08:00
Gururaj Pandurangi
3c26aa49a5 qcacld-3.0: Add backward compatibility for old TPC event
Host will send TPC power to FW via new WMI cmd
WMI_VDEV_SET_TPC_POWER_CMDID going forward instead of
WMI_VDEV_PARAM_TX_PWRLIMIT to accommodate even 6GHz channels.
But, to support backward compatiiblity for New Host+old FW
the TPC power will be sent to FW via old WMI cmd with the
help of a service bit.

Change-Id: I9324299ca4f92f2adce92983385b66c04368fe55
CRs-Fixed: 2872238
2021-02-25 20:23:08 -08:00
Lincoln Tran
675235a149 qcacld-3.0: Process country and TPE IE
Validate and process the country IE from the beacon frame.
Validate and process the TPE IE. Store the tx power values in the
vdev_mlme struct for future processing.

Change-Id: I57acca2257a263225d9bafb0f94e195a99224a60
CRs-fixed: 2841732
2021-02-25 20:23:03 -08:00
Gururaj Pandurangi
b0096c4477 qcacld-3.0: Add TPC calculation logic to obtain max tx power
Add new lim api to calculate an array of tx power values. Include
hw limit from Fw and TPE values from IE along with existing
params to determine TPC power.
The new struct reg_tpc_obj in vdev_mlme object will contain max
tx power, center frequencies, number of power levels,
PSD power check, EIRP power, AP power type for 6G and TPE
power values and will be sent to FW via new WMI cmd
WMI_VDEV_SET_TPC_POWER_CMDID.

Change-Id: I80a2454c2ef0dbc3b1d69e8b233b1a56567ec1a1
CRs-Fixed: 2841873
2021-02-25 20:22:58 -08:00
Gururaj Pandurangi
0aae9ef6c1 qcacld-3.0: Handle AP power type in he_ops IE for 6GHz
Parse reg_info subfield present in he_ops IE from beacon on
6GHz channels to obtain AP's power type for STA.
In case of SAP, get the AP power type from SAP decision
engine and populate it in dot11f API.

Change-Id: Iec317ea35936e7a5c2372d1188fe5940afb0c28d
CRs-Fixed: 2869367
2021-02-25 20:22:54 -08:00
Gururaj Pandurangi
dd2b8dc1a8 qcacld-3.0: Add TPE IE to beacon frame structure
Add TPE IE to beacon frame struct tDot11fBeacon.

Change-Id: Ibc6bf166ee2830cc253bde3788569f5a49225458
CRs-Fixed: 2864125
2021-02-25 20:22:50 -08:00
Gururaj Pandurangi
1bc782ae31 qcacld-3.0: Add TPE IE to beacon frame structure
Add TPE IE to beacon frame struct tDot11fBeaconIEs.

Change-Id: I80ab213da97385df7b5c3eabb99b011b1a3dfba2
CRs-Fixed: 2848867
2021-02-25 20:22:46 -08:00
Amar Singhal
efdd75523f qcacld-3.0: Modify TPE information elements for 6ghz
Re-write TPE IE populating code. For 6ghz AP, there can be multiple
TPE IEs.The TPE IE can be of type PSD or non-psd.

Change-Id: I029d4826cbc73abb382d885260c355217b2cc6b4
CRs-Fixed: 2863009
2021-02-25 20:22:42 -08:00
Amar Singhal
46b1af6a2e qcacld-3.0: modify populate_dot11f_country for 6 ghz
For SAP, country IE takes different input for 6ghz channels.
for 6 ghz, we need to add operating class triplet also. So, before
the sub-band triplet, operating class triplet needs to be added.

Change-Id: I43d37d0f23276dbe7fed35d8c2251d9e15b16fa9
CRs-fixed: 2862999
2021-02-25 20:22:38 -08:00
Lincoln Tran
46d53fb739 qcacld-3.0: Add INI for TPE preference
When the TPE IE comes to driver, there could be information for both
local and regulatory. Add an INI for preference in the case that both
sets are present.

Change-Id: I4b37123569f422863fc805063974c65878a9baea
CRs-fixed: 2854774
2021-02-25 20:22:33 -08:00
snandini
adaec73c70 Release 2.0.8.11O
Release 2.0.8.11O

Change-Id: Iaf6339c8b5b89b4a941ae035852acc889958baa9
CRs-Fixed: 774533
2021-02-25 15:52:27 -08:00
Aditya Kodukula
3c3cce8868 qcacld-3.0: Add function to_update wiphy_vhtcap
Refactor the function hdd_update_wiphy_vhtcap, and add two
independent functions to update the wihphy_vhtcap for 2G and 5G bands.

Change-Id: Iacf176c5b8bbf0032d1984775de3a9afee263883
Crs-Fixed: 2885702
2021-02-25 15:52:26 -08:00
Lincoln Tran
7b6d8910f2 qcacld-3.0: Validate freq against regulatory list
When CSR issues a start BSS message, it validates the requested start
freq against the internal CSR channel list. There could be a scenario
where this list is not updated and the validation fails. Check this freq
against the regulatory channel list instead.

Change-Id: I56b29fa6249a9245bb968c95c14e730b976f0f8d
CRs-fixed: 2884695
2021-02-25 15:52:22 -08:00
Aditya Kodukula
3edd04f7eb qcacld-3.0: Validate 2.4 GHz band before accessing it
Add a safety check to verify if the 2.4GHz band is
enabled/supported before updating the target config.

Change-Id: I05c0ac956acee0cd9550114836a0d41cfc3359ed
CRs-Fixed: 2883567
2021-02-25 15:52:17 -08:00
snandini
830b0c55fc Release 2.0.8.11N
Release 2.0.8.11N

Change-Id: I3331ded06bcbf2a9964ff9cec692729ba4d4d186
CRs-Fixed: 774533
2021-02-25 13:37:36 -08:00
Kiran Kumar Lokere
d3a8b8c5b5 qcacld-3.0: Fix the 160MHz Nss setting in peer assoc cmd
Nss value for 160MHz starts with 0 value in FW. Correct the 160MHz Nss
setting value in peer assoc command.

Change-Id: Ib6a8457acdf222cbe66beaf4b78edd2cda3d9eab
CRs-Fixed: 2885598
2021-02-25 13:37:36 -08:00
snandini
37e3f306a4 Release 2.0.8.11M
Release 2.0.8.11M

Change-Id: I6653bd1a0e8ad8ebf6ec035c730c929c07e2b32a
CRs-Fixed: 774533
2021-02-25 03:43:40 -08:00
Utkarsh Bhatnagar
a6813d16dc qcacld-3.0: Add he_cap in TDLS Dot11 frames
Add he_cap (tDot11fIEhe_cap) in sDot11fTDLSDisRsp,
tDot11fTDLSSetupReq, tDot11fTDLSSetupRsp Dot11f
frames.
Add he_op (tDot11fIEhe_op) in tDot11fTDLSSetupCnf
frame.

Change-Id: I76947a9a7ddb51dcf2fdf76832f98c1a9f9135e7
CRs-Fixed: 2881825
2021-02-25 03:43:40 -08:00
snandini
4e99397ebe Release 2.0.8.11L
Release 2.0.8.11L

Change-Id: I78ed24a254ebb54543839418f1cce87160a33f57
CRs-Fixed: 774533
2021-02-25 01:25:09 -08:00
Karthik Kantamneni
5d68186b66 qcacld-3.0: Check for TCP proto in bypass_fisa API
Check for TCP proto in bypass_fisa API and deliver nbuf without fisa.
This will avoid additional processing and helps to deliver nbuf earlier.

Change-Id: I26a78e1204ddebab3a6c6e852ce6d289106dd110
CRs-Fixed: 2884112
2021-02-24 20:49:18 -08:00
snandini
bea17515d2 Release 2.0.8.11K
Release 2.0.8.11K

Change-Id: I4392575cdf6d4eb765d0d7449168e26668b94967
CRs-Fixed: 774533
2021-02-24 11:20:29 -08:00
Bapiraju Alla
b5d0b97c2e qcacld-3.0: Protect set_thermal_mitigation with dsc psoc sync
Currently, the operation set thermal mitigation which is invoked
from PLD is not dsc protected. As a result it is causing a memory
leak issue when there is an idle shutdown is happening in parallel.

To avoid this, protect set thermal mitigation operation with dsc psoc
sync.

Change-Id: Id36086dd7668258f0aa1d57bc30948e14510e4de
CRs-Fixed: 2882729
2021-02-24 02:39:29 -08:00
snandini
d97eac5ad9 Release 2.0.8.11J
Release 2.0.8.11J

Change-Id: I3c3e61f439ea56a87b6bc85f9e43423920986ce1
CRs-Fixed: 774533
2021-02-23 03:30:59 -08:00
Bapiraju Alla
be3cf6a602 qcacld-3.0: Add INI param to read MAC address from MAC cfg file
Currently, Driver reads MAC address from MAC cfg file if it is present.
Kernel has a timeout of 60secs and userspace tries to loop till the
file is read if it is during the boot. So this will result in dsc
transaction timeout if the MAC cfg file is not present in the device.

To avoid this, add INI parameter to read this MAC cfg file and enable
it only when the MAC cfg file is present in the device.

Change-Id: I0bd9c089b6077534a07cb68deb07feb6064a5b88
CRs-Fixed: 2877424
2021-02-23 13:04:31 +05:30
snandini
c73e607c92 Release 2.0.8.11I
Release 2.0.8.11I

Change-Id: I1931a9e349ecbdbfe7732613e6838ddfa14ce431
CRs-Fixed: 774533
2021-02-22 20:18:13 -08:00
Abhinav Kumar
943ff67ea3 qcacld-3.0: Possible OOB read when parsing FT IE
FTIE buffer carries multiple FT subelements (like R1KH-ID,
R0KH-ID, GTK, IGTK, etc).

Total FTIE buffer len = Number of FT subelements * (Subelement
ID (1 bytes) + lenght (1 bytes) + data length).

Currently, Host checks only the minimum length for FTIE buffer
while filling each FT subelements. This leads to OOB if the
remaining length of FTIE length buffer less than the length of
an FT subelement.

Before filling each subelement into FTIE buffer, add a check
to validate subelement length against remaining FTIE length

Change-Id: I5d6f4a59eef591d3a2da9f2403738d1fdd1a88b2
CRs-Fixed: 2857084
2021-02-22 20:18:13 -08:00
snandini
5095db9964 Release 2.0.8.11H
Release 2.0.8.11H

Change-Id: If25604a30579a21d3d7398aa83af25048eb27723
CRs-Fixed: 774533
2021-02-21 18:33:15 -08:00
Pragaspathi Thilagaraj
593786d127 qcacld-3.0: get wake duration from stored session params
Retrieve the stored TWT wake duration for a session for
to send it as part of get twt statistics response.

Change-Id: If3c23d05331d5dfb43f74f5380e81eaf2799d2e7
CRs-Fixed: 2859812
2021-02-21 18:33:15 -08:00
Pragaspathi Thilagaraj
fe1d450190 qcacld-3.0: Don't delete TWT session if teardown fails
When TWT teardown is received, driver sets the twt setup done
flag to false and clears the TWT dialog id/state for the TWT
session irrespective of the teardown status sent by firmware.
This causes TWT session deletion even if ack is not received for
TWT teardown frame or internal error due to which TWT teardown
frame was not sent over air.

Don't clear the TWT sesson if teardown failure due to internal
error or no ack is received for TWT frame.

Change-Id: I7d5cf423c3cd0d4be9bb2ff0b238a3fa069783cf
CRs-Fixed: 2866195
2021-02-21 18:33:08 -08:00
Rajasekaran Kalidoss
604f083f03 qcacld-3.0: Check if TWT session exists for get and clear stats
Check if a TWT session has been created for the dialog_id given
in get and clear stats command request. Reject it in driver if
session doesn't exist.

Change-Id: Ie9a761128e3a0188c4ece9a7bac58268a2ebb88f
CRs-Fixed: 2864284
2021-02-21 18:33:01 -08:00
Rajasekaran Kalidoss
40955985cf qcacld-3.0: Multiply wake_interval mantissa by TU
The QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_INTVL_MANTISSA attribute
should be specified in multiples of TU. Correct the logic to
multiply it by 1024 to get wake interval mantissa in microseconds.

Change-Id: I2c6eb3ca5541b97cffbe0de44351571839fa00e6
CRs-Fixed: 2862107
2021-02-21 18:32:54 -08:00