Commit Graph

22732 Commits

Author SHA1 Message Date
Liangwei Dong
0c2d47ef67 qcacld-3.0: Add RSO state change logs
Add RSO state changing log to roam history log
so that help debug roam state change issues.

Change-Id: Ifb11013d83de6ee35241dd796df9a7ccbb1464e7
CRs-Fixed: 3094770
2021-12-28 11:06:39 +08:00
Madan Koyyalamudi
f0e8b62670 Release 2.0.8.26R
Release 2.0.8.26R

Change-Id: I28eca1a64a89769cd39628129469a709730d5250
CRs-Fixed: 774533
2021-12-27 04:23:43 -08:00
sheenam monga
0ede53ec26 qcacld-3.0: Validate ini for standalone SAP CSA
Currently if sta_sap_scc_on_dfs_chnl is disabled,
standalone sap can come up on DFS channel in non-dbs
hw but standalone sap channel switch to dfs is rejected
by hdd in case of non-dbs hw and with disabled
sta_sap_scc_on_dfs_chnl.

Fix is not to reject standalone sap csa request for
DFS channel on non-dbs hw if sta_sap_scc_on_dfs_chnl is
disabled, as standalone sap can come up on DFS channel
when sta_sap_scc_on_dfs_chnl is set to 0.

Change-Id: Ibd1b0af25309aa5cc7d9629d2cb78311c20fffcb
CRs-Fixed: 3095298
2021-12-27 11:38:22 +05:30
Madan Koyyalamudi
6e258365bd Release 2.0.8.26Q
Release 2.0.8.26Q

Change-Id: I686378a9bea0e0530e2e3e6147651cfa33418294
CRs-Fixed: 774533
2021-12-23 07:05:02 -08:00
Vulupala Shashank Reddy
da2565ed9e qcacld-3.0: Fix signal strength for mgmt rx pkts in pkt capture
In qdf_nbuf_update_radiotap rssi is filled based on flag
DP_MON_RSSI_IN_DBM. When this flag is enabled
qdf_nbuf_update_radiotap is expecting rssi value in dbm.

So fill rssi_comb based on flag DP_MON_RSSI_IN_DBM.

Change-Id: I9a6542cc27a5e19072e89ae78ff05f4392c64157
CRs-Fixed: 3083133
2021-12-23 07:05:02 -08:00
Vulupala Shashank Reddy
aa4104b7c0 qcacld-3.0: Add support for qos null filters in packet capture
Add support to send qos null frames received from firmware on
STA interface to mon interface based on config value. The config
value get update based on vendor command set by user.

The packet filter check in ucfg_pkt_capture_process_mgmt_tx_data
moved to target_if_mgmt_offload_data_event_handler. So that we
will not allocate any buffer if filter is not set.

Change-Id: I426b340c5a65711ada971062af95ae039d18d0bd
CRs-Fixed: 3076241
2021-12-23 14:16:12 +05:30
Vulupala Shashank Reddy
ed6dfb2702 qcacld-3.0: Add ref count for global vdev used in packet capture
Currently the global vdev gp_pkt_capture_vdev used in packet capture
does not have ref count.

Add ref count for global vdev used in packet capture component.

Change-Id: I1cc619b31c81a77af0842ce219cfcc96060626a0
CRs-Fixed: 3049225
2021-12-23 14:14:08 +05:30
Madan Koyyalamudi
9181ac9679 Release 2.0.8.26P
Release 2.0.8.26P

Change-Id: I18b92a27d9fadc027c05d0ff6821299389f0edff
CRs-Fixed: 774533
2021-12-22 22:57:07 -08:00
Vulupala Shashank Reddy
8bf5d2ab5e qcacld-3.0: Fix phy type for mgmt rx packets in pkt capture mode
In packet capture mode currently the cck and ofdm flags are
filled by checking phy mode received from FW. But now FW is
sending below rate codes instead of phy mode. So update the
check in host to check rate code and based on rate code fill
cck and ofdm. The proper filling of cck and ofdm will help
Wireshark to derive correct phy type in the packet capture.

WIFI_HW_RATECODE_PREAM_OFDM,
WIFI_HW_RATECODE_PREAM_CCK,
WIFI_HW_RATECODE_PREAM_HT,
WIFI_HW_RATECODE_PREAM_VHT,
WIFI_HW_RATECODE_PREAM_HE,

Change-Id: Ie9b38dd403a0bf39397ff22e80dd24dfa152fdcd
CRs-Fixed: 3079456
2021-12-21 20:28:38 -08:00
Madan Koyyalamudi
2dc23f959d Release 2.0.8.26O
Release 2.0.8.26O

Change-Id: Iebf24f73fdf59ddb96bb4a8cc26f9aac224a3f7e
CRs-Fixed: 774533
2021-12-21 06:48:30 -08:00
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