Commit Graph

22672 Commits

Author SHA1 Message Date
Yu Wang
6a9129e9ea qcacld-3.0: set msdu/mpdu aggr size for each vdev start
The global aggregation size is only set to firmware once
when vdev is created. And the size may be modified
dynamically for a specified AP during association, according
to the OUI based aggregation size configured by ini
'cfg_tx_iot_aggr'.

If global AMSDU size is 0, considering the case as below:
1. connect to AP-1 which is included in 'cfg_tx_iot_aggr',
   the AMSDU size will be set to the specifed value.
2. connect to AP-2 which is NOT in 'cfg_tx_iot_aggr',
   it doesn't reset the AMSDU size to 0, and firmware is
   still using the value set in step #1, it's wrong.

To fix this issue, set the global size for each vdev start,
as init values for each connection.

Change-Id: I790d580fc5762e6816e840ba5484b3cd758334df
CRs-Fixed: 2918046
2021-12-20 18:57:16 +08:00
Yu Wang
0aa920ec8a qcacld-3.0: enhance oui based iot aggr size processing
Check the configured IOT OUIs in Beacon/Probe Response
IEs, but not in Associate Response IEs, because some APs
won't add its specific OUI in Associate Response frame.

Change-Id: I3aedeef0a5dbecd4bed41eb47a9374e654509746
CRs-Fixed: 2955964
2021-12-20 18:51:56 +08:00
Yu Wang
497aa3ac98 qcacld-3.0: add ini for setting oui based aggr size
Add ini 'cfg_tx_iot_aggr', it gives an option to
configure Tx aggregation size in no. of MPDUs/MSDUs
for specified OUI. This can be useful for IOT issues.

Format of the configuration:
  cfg_tx_iot_aggr=<OUI-1>,<MSDU-1>,<MPDU-1>,<OUI-2>,<MSDU-2>,<MPDU-2>...
  MSDU/MPDU means the max tx aggregation size in no. of MSDUs/MPDUs,
  0 means not specified.

For example:
  cfg_tx_iot_aggr=112233,2,0,445566,3,32,778899,0,64
  If vendor OUI-1("\x11\x22\x33") is found in assoc resp,
    set tx amsdu size to 2;
  If vendor OUI-2("\x44\x55\x66") is found in assoc resp,
    set tx amsdu size to 3, set tx ampdu size to 32;
  If vendor OUI-3("\x77\x88\x99") is found in assoc resp,
    set tx ampdu size to 64.

Change-Id: Idcf370a4bf93ca299ce1126eaba4394be1ab5b9d
CRs-Fixed: 2849203
2021-12-20 18:47:50 +08:00
Madan Koyyalamudi
ba2ffb1694 Release 2.0.8.26N
Release 2.0.8.26N

Change-Id: I919cad7b61be1de88903b4114d33546726db0587
CRs-Fixed: 774533
2021-12-17 05:33:01 -08:00
Ashish
90b48155a2 qcacld-3.0: Address race between disconnect and system suspend
A race between cfg80211 disconnect and wiphy system suspend can lead
to either DPM WD or serialization VDEV disconnect active command
timeout since scheduler thread gets suspended as part of wiphy
suspend and both cfg80211_disconnect and wiphy suspend/resume acquire
RTNL lock. To address this race condition avoid disconnect when wiphy
suspend is already completed since scheduler thread gets suspended
as part of wiphy suspend and it can't process vdev disconnect.

Change-Id: Ia7e42cffb3f6b08b33c878b68122dbdc00bad251
CRs-Fixed: 3042442
2021-12-16 23:11:40 +05:30
Madan Koyyalamudi
eccf42a05c Release 2.0.8.26M
Release 2.0.8.26M

Change-Id: Ib25fda41b278d8663f172905a9e9cc85ced02aa2
CRs-Fixed: 774533
2021-12-14 05:20:09 -08:00
Bapiraju Alla
b3b15386d6 qcacld-3.0: Add support to calibration failure events parsing
Currently there is no provision to get the calibration failure
information from the driver. Because of this it is getting difficult
to debug the calibration failure issues.

To simplify the calibration failure issue debugging, add support to
parse calibration failures events in the driver.

Change-Id: I6d831804cca259862fea3e8bb4af33d556138d43
CRs-Fixed: 3078926
2021-12-14 14:49:22 +05:30
Madan Koyyalamudi
66a6bb36eb Release 2.0.8.26L
Release 2.0.8.26L

Change-Id: Ia3d4b69feb981bda58e32324fffbe260ee136af5
CRs-Fixed: 774533
2021-12-09 23:35:06 -08:00
Jingxiang Ge
19edb11baa qcacld-3.0: Fix possible memory leak of tx_time_per_power_level
It is possible tx_time_per_power_level is not freed
in last event, and it is reused in
__wma_unified_radio_tx_power_level_stats_event_handler,
the buffer size may be different for each event by
manually test.

Fix is to check if memory is freed before malloc, if
not null, free it before malloc.

Change-Id: I51064734cf97b9ff0ecbbaf27f38d5a223c91d3b
CRs-Fixed: 3057436
2021-12-09 23:35:06 -08:00
Jingxiang Ge
1ebed1b2f0 qcacld-3.0: Check input parameters for tx_attr/rx_attr
In hdd_config_tx_rx_nss and hdd_config_vdev_chains, it
missed to check if tx_attr or rx_attr is null, which will
cause invalid memory access.

Change-Id: Ic3427d714e240507cf4253588f706d06d355ba93
CRs-Fixed: 3086252
2021-12-09 23:35:01 -08:00
Madan Koyyalamudi
fe2654d673 Release 2.0.8.26K
Release 2.0.8.26K

Change-Id: If02850a26fb3062128fa127cec90a7c3efe6bf56
CRs-Fixed: 774533
2021-12-09 18:27:57 -08:00
Liangwei Dong
2cc651c522 qcacld-3.0: Add INI to configure MGMT frame HW retry count
Add INI - mgmt_frame_hw_tx_retry_count to configure MGMT
frame HW tx retry count for certain frame types.
The INI String format:
mgmt_frame_hw_tx_retry_count="<frame type>,<retry count>,..."

The supported frame types are defined by enum mlme_cfg_frame_type.
Retry count max value is 127.
For example:
mgmt_frame_hw_tx_retry_count="0,64,2,32"
The above input string means:
For p2p go negotiation request fame, hw retry count 64
For p2p provision discovery request, hw retry count 32

Change-Id: I32f6c7d83ede9b28484c7a0b29824bde32e06422
CRs-Fixed: 3082532
2021-12-09 14:02:13 +08:00
Madan Koyyalamudi
aa6836674d Release 2.0.8.26J
Release 2.0.8.26J

Change-Id: I504bada5b542a1f53e1179dbc696f2136453cc8e
CRs-Fixed: 774533
2021-12-07 23:20:11 -08:00
Jyoti Kumari
731df269de qcacld-3.0: Cleanup SAP interface if start_bss is aborted
Currently, SAP state machine is moved to INIT state when SAP
start is aborted due to timeout or SSR. SAP is not cleaned up
in such cases as eWNI_SME_STOP_BSS_REQ (which further issues
vdev down and cleanup the peers properly) is not sent to
below layers(firmware).

Replace qdf_wait_for_event_completion to
wait_for_completion_timeout in start_bss which will wait
till the normal operation execute irrespective of firmware
state/SSR.

Change-Id: Ifff2ca9658769cb1145f1c5cb278cd7551cb8c00
CRs-Fixed: 3058550
2021-12-07 23:20:11 -08:00
Madan Koyyalamudi
e6fe4c519a Release 2.0.8.26I
Release 2.0.8.26I

Change-Id: Ia399bc76a520568ca9fea563d93a679f1b1a14a1
CRs-Fixed: 774533
2021-12-07 13:39:07 -08:00
Deeksha Gupta
7ea11a18bd qcacld-3.0: Fill status correctly for twt resume
Fill return status correctly in twt resume dialog
command.

Change-Id: I2b04a4028f2f05aa7636bf59551cb97f999e22a1
CRs-Fixed: 3083812
2021-12-07 13:39:07 -08:00
Madan Koyyalamudi
6c9edfc9f6 Release 2.0.8.26H
Release 2.0.8.26H

Change-Id: Ie94264036107f1ffff456637e658dc927b40c332
CRs-Fixed: 774533
2021-12-07 11:24:14 -08:00
Ananya Gupta
3eff34087b qcacld-3.0: Drop packets when vdev_id is invalid
There is a race condition when adapter is deleted after it is
validated in DP rx path and is assigned an invalid vdev id and
eventually invalid net_device.
To fix this, dropping packets if vdev id is found to be invalid
right before assignment to skb->cb.

Change-Id: I4e483363f59a22b45e18da929f749cd9807cc2fc
CRs-Fixed: 3084556
2021-12-07 11:24:14 -08:00
Madan Koyyalamudi
3801523a38 Release 2.0.8.26G
Release 2.0.8.26G

Change-Id: I0f10d34bda19a7f3571660f8d7849d6cc47cef7f
CRs-Fixed: 774533
2021-12-07 04:31:53 -08:00
Liangwei Dong
bcd1487b9e qcacld-3.0: Reset sap_radar_found_status flag before start sap
"sap_radar_found_status" is used to check Radar event detected
or not in CAC wait state. Clear "sap_radar_found_status" before
SAP starts to avoid the stale value saved in previous sap start or
CSA. This can happen when the SAP is restart state and get
"stop ap" request from userspace. The invalid value will
cause the wlansap_start_beacon_req retrun without deliver start
beacon msg and cause the no beacon in OTA.

Change-Id: I6336510881333e2775c29dcc167a77d5d745ace9
CRs-Fixed: 3085312
2021-12-07 04:31:52 -08:00
Vulupala Shashank Reddy
52fe7b199e qcacld-3.0: Change ops from vdev specific to psoc level
Currently in packet capture component the tx and rx ops are
stored in vdev but the ops should be only per psoc and
the ops will be registered only once per psoc. So change
tx and rx ops from vdev specific to psoc level.

Change-Id: I09e9dd5d83e7b10c86e80ebf2584469071060813
CRs-Fixed: 3049207
2021-12-07 04:31:48 -08:00
Vulupala Shashank Reddy
f7b542bdb1 qcacld-3.0: Change enum pkt_capture_mode to bit map
In packet capture component change enum pkt_capture_mode
from value to bit map.

Change-Id: Ic777b5091e85ed8c906d7e855b5cadb0fa3319d5
CRs-Fixed: 3048502
2021-12-07 04:31:43 -08:00
Madan Koyyalamudi
d126746c50 Release 2.0.8.26F
Release 2.0.8.26F

Change-Id: I141fb7d942af1bc464b6cdde90cfc43ed7b48574
CRs-Fixed: 774533
2021-12-06 10:18:55 -08:00
Deeksha Gupta
770f87ec4c qcacld-3.0: Check peer TWT capability before TWT setup request
Currently, in TWT setup command, if peer does not support TWT
capabilities then firmware returns status = 4.

Add condition to check the peer capabilities before sends TWT
setup request to firmware.

Change-Id: Icd1cbeff2db2bdec4e456013e98270a526ff22ce
CRs-Fixed: 3082071
2021-12-06 10:18:55 -08:00
Madan Koyyalamudi
074c34f983 Release 2.0.8.26E
Release 2.0.8.26E

Change-Id: Ib7150a33d3f47f8ff3f5006dc444cfd383f810d3
CRs-Fixed: 774533
2021-12-06 01:09:03 -08:00
Surabhi Vishnoi
1d3fee3098 qcacld-3.0: Add support for beacon filters in packet capture mode
Add support to send beacon received from firmware on STA interface
to mon interface based on management rx filters set by user in
vendor command.

Change-Id: I186ab0d697da831894854d7680265e82dd3adcef
CRs-Fixed: 3073478
2021-12-06 01:09:03 -08:00
Madan Koyyalamudi
37540338f6 Release 2.0.8.26D
Release 2.0.8.26D

Change-Id: Iacfbdcfebcf87aa4e12cf5d48c764ca98acb66ef
CRs-Fixed: 774533
2021-12-02 02:00:20 -08:00
Bapiraju Alla
20ecfccc51 qcacld-3.0: Fix mem leak with NDP peer multicast address list
Currently, NDP peer multicast address is derived from peer MAC address
and cached in the host. While removing the NDP peer, peer MAC address
is used to search the cached multicast address list. Because of this,
peer multicast address list is not getting freed.

To resolve this, derive peer multicast address from the peer MAC address
while clearing the cached multicast address list.

Since MAX NDP sessions are 8, allocate memory for peer multicast address
list during the NAN vdev private object allocation. This avoids the
special handling for peer multicast list in multiple error scenarios.

Change-Id: Ifbf890a4b9c8be54d84a5b57ed8f6c237ecd51ca
CRs-Fixed: 3085069
2021-12-01 09:34:42 -08:00
Madan Koyyalamudi
447f928edf Release 2.0.8.26C
Release 2.0.8.26C

Change-Id: Iaeb3327d7d0f40c88ae9fa231b03210ecd859ae9
CRs-Fixed: 774533
2021-12-01 01:46:16 -08:00
Deeksha Gupta
17205e4b9c qcacld-3.0: Update channel_before_switch_band in passive chan switch case
In current scenario, SAP is unable to switch from 2.4GHz to
5Ghz if previous CSA happens with reason CSA_REASON_CHAN_PASSIVE.

For instance, SAP starts on 5Ghz with Country US, and later it
changes to country 00 after MCC. Since in country 00, all 5Ghz
channels are passive, so SAP switches to 2.4Ghz with reason
CSA_REASON_CHAN_PASSIVE. Again if MCC happens to country US then
SAP is unable to switch from 2.4Ghz to 5Ghz. This is because
chan_freq_before_switch_band and chan_width_before_switch_band
are not filled in CSA_REASON_CHAN_PASSIVE case.

As part of fix, in wlansap_get_chan_band_restrict(), update the
chan_freq_before_switch_band and chan_width_before_switch_band
incase channel switch reason is CSA_REASON_CHAN_PASSIVE.

Change-Id: I9610b17cff3f6e0e5257270d2fccd5586c9913f9
CRs-Fixed: 3055017
2021-12-01 01:46:15 -08:00
Madan Koyyalamudi
1cf6c73f1f Release 2.0.8.26B
Release 2.0.8.26B

Change-Id: I0e143fa774954d26e10af44961a7579e2cfa807f
CRs-Fixed: 774533
2021-11-30 10:59:16 -08:00
Karthik Kantamneni
0cc8a490ce qcacld-3.0: Control netif sub queues with sub queue pause mask
Currently global pause mask is used for controlling individual
AC based sub queues and even all the network queues, due to this
mask is set/reset improperly which is not giving actual global
queue status representation. To avoid this introduced new sub queue
mask which is used while controlling individual network sub queues
and global mask is over for overall network queues.

Change-Id: I6632a1831cbea84c23441dbb67473c94b487109a
CRs-Fixed: 3081060
2021-11-30 10:59:16 -08:00
Madan Koyyalamudi
386fe9ba50 Release 2.0.8.26A
Release 2.0.8.26A

Change-Id: Ib16c8544e3135b10c747dff709556b48a3a97524
CRs-Fixed: 774533
2021-11-30 01:13:35 -08:00
abhinav kumar
ab2441a879 qcacld-3.0: Mem leak in wlan_cm_dual_sta_roam_update_connect_channels
Fix possible memory leak while updating dual sta connect channel list
in wlan_cm_dual_sta_roam_update_connect_channels.

Change-Id: I39dc05e485a0f00189978a38fa927a6ec4bd0086
CRs-Fixed: 3035192
2021-11-30 01:13:35 -08:00
abhinav kumar
596c8819ac qcacld-3.0: Print allowed channels for the 2nd STA vdev conn
Print channel list which is allowed for connection for the
second STA when dual sta roaming in is enabled in
wlan_cm_dual_sta_roam_update_connect_channels to enhance
debug log.

Change-Id: I4e16f101b60dc9d34d6193adcfe72ec173c5467a
CRs-Fixed: 3000235
2021-11-30 01:13:29 -08:00
Madan Koyyalamudi
3c1f858f4f Release 2.0.8.26
Release 2.0.8.26

Change-Id: Icfaf448123b445a76d7289fc5858d6cf2fd2d739
CRs-Fixed: 774533
2021-11-29 02:51:38 -08:00
Bapiraju Alla
f690e5c12a qcacld-3.0: Derive NDP peer multicast address from peer MAC address
Currently, driver is depending on NS frame to be received to configure
peer multicast address for an NDP session. If there is a delay in NS
frame reception, peer multicast address list will be configured to the
FW without actual peer multicast address. Because of this, FW will drop
the NS frame from NDP peer.

To address this, derive peer multicast address from peer MAC address
and include it in multicast address list that is configured to the FW.

Change-Id: I92a575352d592b4001dc4f061e31eb7f592f8445
CRs-Fixed: 3066990
2021-11-29 02:51:38 -08:00
Madan Koyyalamudi
d2eefd3824 Release 2.0.8.25Z
Release 2.0.8.25Z

Change-Id: I76d78c5b1491e4252de3f54771324ce918e2a2df
CRs-Fixed: 774533
2021-11-28 23:44:48 -08:00
Liangwei Dong
07415b8eb1 qcacld-3.0: optimization of p2p miracast connecting time
Add new parameter 128/129 for miracast command to enable/disable
p2p connection time optimization. The command needs to be issued
before p2p negotiation/invitation/connecting, the driver will do some
necessary configuration to reduce the p2p connecting time. At present,
disabling IMPS is the only configuration to achieve it.

Change-Id: I518b0027290d0254313031fe23315b718565e04b
CRs-Fixed: 3031461
2021-11-28 23:44:48 -08:00
Madan Koyyalamudi
051a81abac Release 2.0.8.25Y
Release 2.0.8.25Y

Change-Id: Ie2ffec19b943e54bb879e41bd6ff9359eeea0f37
CRs-Fixed: 774533
2021-11-28 17:10:29 -08:00
Lincoln Tran
8e5c048c78 qcacld-3.0: Exclude BSS membership selector from rate set
When checking the total number of supported rates against the maximum
value of 12, don't include BSS membership selector elements in that
count. The value 12 only correspond to supported rates, not membership
selector elements.

Change-Id: Ic82d4dc9d324880141dfde3e3516a9b9f7f1e743
CRs-fixed: 3049216
2021-11-28 17:10:28 -08:00
Will Huang
fb2f2758df qcacld-3.0: Add H2E require flag to extended support rate
If SAE/H2E required by hostapd configure, it must populate in
supported rate or extended support rate set, add host driver support
to check this flag and populate it in extended support rate set.

Change-Id: Id75b5743e93a1a0f1d13150d5436d256e2ca117c
CRs-Fixed: 3016492
2021-11-28 17:10:24 -08:00
Madan Koyyalamudi
f170f3c1d5 Release 2.0.8.25X
Release 2.0.8.25X

Change-Id: I169a707a643a5581b53ce4992b26640dc7e908e7
CRs-Fixed: 774533
2021-11-25 15:06:09 -08:00
Tushnim Bhattacharyya
b061ede893 qcacld-3.0: Set default value for bss_color_collision_det_sta to 1
For STAUT to follow the rules governing OBSS Narrow Bandwidth RU in
UL OFDMA Tolerance Support, bss_color_collision_det_sta to be set
to 1.

Change-Id: Ibe283f8bec9febbaf9a876d1afd55389ea4c971d
CRs-Fixed: 3053624
2021-11-25 15:06:09 -08:00
Madan Koyyalamudi
a2198892f4 Release 2.0.8.25W
Release 2.0.8.25W

Change-Id: Idc8c36df7f74a3bfdaa59a354ec911bbdfa3ae5b
CRs-Fixed: 774533
2021-11-25 03:07:29 -08:00
Sai Pavan Akhil Remella
166b1a35fc qcacld-3.0: Fix invalid bssid filled while deleting pmksa
In delete pmksa call for FILS case, the userspace sends only the
ssid and cache id on the pmk cache. But the driver copies only the
bssid which could cause invalid bssid being copied and the delete
pmksa operation fails always.
Fill pmksa ssid if SSID and cache id are provided, else copy the
bssid.

Change-Id: If18cfd86983c9fe9ae421295accf12bf1e8de148
CRs-Fixed: 3072262
2021-11-25 03:07:29 -08:00
Madan Koyyalamudi
23455c179e Release 2.0.8.25V
Release 2.0.8.25V

Change-Id: Id5443a29b158fdbce695ceff8a92e93692c19dc2
CRs-Fixed: 774533
2021-11-24 14:43:22 -08:00
Jingxiang Ge
b160a90b1e qcacld-3.0: Classify qmi/wmi for WMI_REQUEST_STATS_CMDID
Current only TYPE_STATION_STATS is designed to be send
by qmi. and other request type should send by wmi.
if sending by qmi, qmi_get/qmi_put should be call to protect
qmi send and qmi response.

Change to check type and only allow TYPE_STATION_STATS to be
send by qmi.

Change-Id: I57b0bdb6717e259606993ea24ef024745a456664
CRs-Fixed: 3073744
2021-11-24 11:49:24 +08:00
Madan Koyyalamudi
071b358fb0 Release 2.0.8.25U
Release 2.0.8.25U

Change-Id: Id8413be770c42a068383945c9d7efac474ed1862
CRs-Fixed: 774533
2021-11-22 02:55:49 -08:00
Jingxiang Ge
008a07c098 qcacld-3.0: Reduced country change work resched time
Current when open interface, country change work will
start, but as hdd_open is holding psoc sync, it will
wait for 500ms to resched, after 500ms most of the time
the 1st scan comes, it will send WMI_SCAN_CHAN_LIST_CMDID
which cause scan abort.

Change wait time to 30ms, so country work can be finished
asap once hdd_open done, it will not affect 1st scan.

Change-Id: I13064eef7197464598722c0dce3fb1bf361cb841
CRs-Fixed: 3075136
2021-11-18 21:23:06 -08:00