Commit graph

22,700 commits

Author SHA1 Message Date
Madan Koyyalamudi
aac91c68bf Release 2.0.8.26Z
Release 2.0.8.26Z

Change-Id: I04db12308dc2441b345b347f2909084b4d906eb1
CRs-Fixed: 774533
2022-01-14 12:49:22 -08:00
Ashish
7d72d270fa Revert "qcacld-3.0: Prevent runtime suspend on ll_stats and get station requests"
This reverts commit I7704a3b9b3e8ad187677705e1b11fbd82be73cfb.
This change cause CXPC failure, as each ll_status will cause
runtime pm resume.

Change-Id: I3547181fb8cfee1e5e40992dfaf5547eaac29a2a
CRs-Fixed: 3110499
2022-01-14 18:10:09 +05:30
Madan Koyyalamudi
6ee3579169 Release 2.0.8.26Y
Release 2.0.8.26Y

Change-Id: I18424ce419b6de9246ef1ad59005ae7aeb200499
CRs-Fixed: 774533
2022-01-11 20:31:38 -08:00
Ashish
2cd2decb0e qcacld-3.0: Prevent runtime suspend on ll_stats and get station requests
Currently when ll_stats or get station request comes and while fw
sends the response of the request, it is possible that driver can go into
runtime suspend state while fw still wants to send few more stats
events. Because of this ll_stats request or station stats request gets
time out in host.

To address above issue, add logic to prevent runtime suspend when
ll_stats or station stats request is received in host driver.

Change-Id: I7704a3b9b3e8ad187677705e1b11fbd82be73cfb
CRs-FixeD: 3096165
2022-01-11 20:31:38 -08:00
Utkarsh Bhatnagar
72a123fcb6 qcacld-3.0: Initialize sap ch_width by Max ch_width
Initialize sap bw as MAX BW in
policy_mgr_valid_sap_conc_channel_check() as
wlansap_get_csa_chanwidth_from_phymode() take care
of selecting BW for sap and it has a check that will
take minimum of selected BW and initialized BW.
If this BW is not initialized with Max BW then in cases
where original BW is 0 (20 Mhz) (cases such as channel
switch happens from 2.4Ghz to 5Ghz), the above mentioned
check will result in selected BW being 0 (20 Mhz) for
non-DBS HW.

Change-Id: I29febf09036ffa0163df58ce51b399abe2a43fe2
CRs-Fixed: 3101285
2022-01-11 20:31:33 -08:00
Madan Koyyalamudi
57f7b094e9 Release 2.0.8.26X
Release 2.0.8.26X

Change-Id: Iebb11dc997a2d8933cfbc2b38923e32cfe27f40e
CRs-Fixed: 774533
2022-01-10 12:57:46 -08:00
Huashan Qu
ded9e8c2fe qcacld-3.0: Return success when firmware doesn't support 11k offload
Return success when firmware doesn't support 11k offload, or else
subsequent roaming related wmi commands have no chance to issue.

Change-Id: I69d55cca63f2b7ab4787295a2825159395cf2a11
CRs-Fixed: 2976163
2022-01-10 12:57:45 -08:00
Madan Koyyalamudi
e72f5e8690 Release 2.0.8.26W
Release 2.0.8.26W

Change-Id: Ib382a2a8d4b2d96282d48aaee74b2fed9d8e2c87
CRs-Fixed: 774533
2022-01-10 09:50:57 -08:00
Bapiraju Alla
922db7a346 qcacld-3.0: Reject LL stats request for SAP mode
LL stats request is not supported for SAP mode. But driver is not checking
for device mode for LL stats request. Instead it is depending on LL stats
request set flag which won't be set for SAP mode. In case of mode switch
from STA to SAP, it is possible that LL stats request set flag will be set
for STA mode and LL stats are requested after switching to SAP mode. This
will bypass the mode SAP.

To avoid this, reject LL stats request for SAP mode.

Change-Id: I8c680288991126f0b349584f502b22e18af72287
CRs-Fixed: 3081453
2022-01-10 09:50:57 -08:00
Madan Koyyalamudi
4717c03967 Release 2.0.8.26V
Release 2.0.8.26V

Change-Id: Ie4507fa10badf0e4d77fc393dae3c87c88823202
CRs-Fixed: 774533
2022-01-06 09:29:19 -08:00
Abdul Muqtadeer Ahmed
7e322d9e09 qcacld-3.0: Move the sar req-resp event to work context
In the process of sar req-resp event the timer callback will wait
for the userspace response due to which time scheduler thread is paused
and can't process any other message. Because of this there is delay and
some command may fail.

To address above issue, move the process of sar req-resp
event to work context as we are waiting in the timer handler.

Change-Id: Idadd99ff28dcb6f5ec2d925cb381f223124300e6
CRs-fixed: 3091293
2022-01-06 09:29:19 -08:00
Madan Koyyalamudi
5c960b7831 Release 2.0.8.26U
Release 2.0.8.26U

Change-Id: I5652c5cfe05cb876405d913e70836c1b301279d7
CRs-Fixed: 774533
2022-01-03 05:20:38 -08:00
Surabhi Vishnoi
0f9e820863 qcacld-3.0: Ignore idle_shutdown if any interface is up
Ignore idle_shutdown if any interface is up. This is done
to handle special scenario in which platform driver triggers
idle shutdown when it receives Deep sleep/Hibernate entry
notification from modem subsystem in wearable devices.

Change-Id: I0f2a3bd4cbf0d7c0d3577dfbd15c7b3001d827d1
CRs-Fixed: 3091085
2022-01-03 05:20:38 -08:00
Surabhi Vishnoi
970aed1bcf qcacld-3.0: Allow suspend in deep sleep or Hibernate
Deep Sleep or Hibernate are system level mode power
modes in which wlan firmware is shutdown gracefully
and linux kernel is suspended. Currently, suspend
is not allowed if firmware is down, with this change
suspend is allowed if firmware is down due to Deep
Sleep or Hibernate low power state.

A new pld api is introduced to know the low power
state from platform driver, this api is enabled based
on CONFIG_ENABLE_LOW_POWER_MODE flag. Currently, this
feature is enabled only for wearable targets.

Change-Id: Iddaa4da8ee4880a4223420f59cbe9c365c30344a
CRs-Fixed: 3090481
2022-01-03 05:20:33 -08:00
Madan Koyyalamudi
9828818396 Release 2.0.8.26T
Release 2.0.8.26T

Change-Id: Id5e7bbbe7ea495dac51635a02586682975aae1c6
CRs-Fixed: 774533
2021-12-28 15:02:31 -08:00
chunquan
13dbf23219 qcacld-3.0: Send high 32bit addr for no smmu platform which fw need
Host send HTT_H2T_MSG_TYPE_WDI_IPA_CFG cmd to fw, need update
high 32bit addr for non-smmu platform which alloc physical
address more than 4G, like addr 0x1 5000 0000.It will cut
off bit32~bit63, fw get memory is 0x5000 0000, it's maybe
use for peripheral memory.when fw write addr 0x5000 0000,
it will meet some error.

32bit platform compile error,for right shift must less
than system width.

Change-Id: If1e84cfdcd15494be3f7327986ff0e91ec7b2b3f
CRs-Fixed: 3097240
2021-12-28 15:02:31 -08:00
chunquan
7f54b30138 qcacld-3.0: Send high 32bit addr for no smmu platform which fw need
Host send HTT_H2T_MSG_TYPE_WDI_IPA_CFG cmd to fw, need update
high 32bit addr for non-smmu platform which alloc physical
address more than 4G, like addr 0x1 5000 0000.It will cut
off bit32~bit63, fw get memory is 0x5000 0000, it's maybe
use for peripheral memory.when fw write addr 0x5000 0000,
it will meet some error.

Change-Id: Ic5c5c00c85bdf08e61c9ff0f539989d2e96bb153
CRs-Fixed: 3077016
2021-12-28 15:02:25 -08:00
Madan Koyyalamudi
fc583c2517 Release 2.0.8.26S
Release 2.0.8.26S

Change-Id: Ic22bed3ca7a9c484a48b605708f12fe462840603
CRs-Fixed: 774533
2021-12-28 01:54:37 -08:00
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