Commit Graph

2695 Commits

Author SHA1 Message Date
Jyoti Kumari
af62331dd8 qcacld-3.0: Add WMI interface to configure EDCA/PIFS param
Add WMI interface(WMI_VDEV_SET_TWT_EDCA_PARAMS_CMDID) to
configure EDCA/PIFS param for LL SAP.

This configuration depends on edca_param_type.
If edca_param_type is 0 then host will configure EDCA param and
send it to firmware via WMI interface.
If edca_param_type is 1 then host will configure PIFS param and
send it to firmware via WMI interface.

Change-Id: I09f49474c0a698257d06aa4f1a17b56aae735fa5
CRs-Fixed: 3349447
2022-12-12 11:49:17 -08:00
Pragaspathi Thilagaraj
258e6ac52f qcacld-3.0: Fix the wrong event id specified for wow wakeup
In wow_get_wmi_eventid(), the reason to event id mapping fills
the wrong command id (WMI_ROAM_PREAUTH_STATUS_CMDID) instead of
the event WMI_ROAM_PREAUTH_START_EVENTID and.
Since the event WMI_ROAM_PREAUTH_START_EVENTID will not be
piggybacked, remove the reason WOW_ROAM_PREAUTH_START_EVENT from
wow_get_wmi_eventid api. Fix the documentation of setting the
WOW_ROAM_PREAUTH_START_EVENT bit in pmo wow bitmap.
Fix invalid event id mapping for WMI_TDLS_PEER_EVENTID also in
wow_get_wmi_eventid().

Change-Id: Ifd08dc94cda22d9de662ef15b74cb19571007052
CRs-Fixed: 3355578
2022-12-09 11:51:30 -08:00
Vijay Raj
f101354847 qcacld-3.0: Add FW support for AKM 24
Add FW support for AKM 24

Change-Id: I067c7f2a4eabe680fdd38e78cb5ffbd8ad306ad3
CRs-Fixed: 3301709
2022-12-09 07:31:59 -08:00
Aditya Kodukula
ae8eee9988 qcacld-3.0: Update ll_stats request pending flag properly
In the current driver implementation, host honors LL_STATS request
even in disconnected state. But in disconnected state, the ll_stats
request pending flag is not updated properly, which results in allowing
multiple LL_STATS requests being sent to FW. So, to avoid this issue,
update the flag properly.

Change-Id: I318455492dc69bd540044b593a405eacdf185ff1
CRs-Fixed: 3339867
2022-12-08 02:48:24 -08:00
Liangwei Dong
cdd8a34bc0 qcacld-3.0: Update hw mode index for hw mode transition event
When vdev_mac_entry is NULL, update the hw mode index as well
to avoid mismatch between host and target.

Change-Id: I67bd91af8c72dcc468c128e266e7074308de04c0
CRs-Fixed: 3342565
2022-12-07 11:58:11 -08:00
Arun Kumar Khandavalli
6d5ce1983d qcacld-3.0: reject client if the peer is present same ml address
Host/fw doesn't support the ml peers or legacy peers with same
mac address, So reject the client with the same link address or
mld address as one of the ml or legacy peers in the system.

Change-Id: I5f625e06c1f3832739d0424e1567a9957037fef8
CRs-Fixed: 3344809
2022-12-07 05:50:06 -08:00
Chaoli Zhou
f28de24866 qcacld-3.0: Change kmsg log to debug log
Change error level log to info level since it
is not a real error report.

Change-Id: I2698216b67d986fd8e5465d47ca5700e3cc671d3
CRs-Fixed: 3351802
2022-12-05 18:42:11 -08:00
Chaoli Zhou
5fbbb4a769 qcacld-3.0: Fix 'variables may be used uninitialized' issue
Need to set default value for tdls_feature_set to
fix the 'variables may be used uninitialized' issue.

Change-Id: I1cab38220240432c620a83ecb2f4feefb71f2e4f
CRs-Fixed: 3342670
2022-12-03 22:19:43 -08:00
sandhu
f2973a0175 qcacld-3.0: Rate limit excessive logging
Rate limit excessive logging to prevent kernel panic.

Change-Id: I916fd576c4fd20ebe4f49e546cc5180bd0a79b1a
CRs-Fixed: 3348753
2022-12-03 15:26:35 -08:00
Paul Zhang
d5a46c0544 qcacld-3.0: Correct the param mis-used issue
Correct the param mis-used issue when function
wma_handle_vdev_detach invokes function
wlan_mgmt_txrx_vdev_drain.

Change-Id: Ied3118028d881c2c0d4300daa6b24515b2797781
CRs-Fixed: 3349006
2022-12-02 10:30:06 -08:00
Sheenam Monga
728998c4af qcacld-3.0: Send async event to user space in case of roaming
Currently, if SR (Spatial Reuse) is supported by AP and then
STA roams to another AP then host needs to parse SR IE and
send events to userspace and commands to Fw based on below
scenarios:

i.) Roamed AP doesn't support SR: If roamed AP doesn't support
SR then async event with SR disable is required to be sent to
userspace.

ii.) Roamed AP supports SR: If roamed AP supports SR then below
validations are required.

a.) existing thresholds are in range of roamed AP: Send SR enable
command to FW with previous thresholds , as FW disables SR during
roaming.

b.) existing thresholds are not in range of roamed AP: then decision
will be based on whether threshold is provided during SR enable command
or not. If threshold is provided along with SR enable command then send
disable to userspace and in other case update thresholds as per roamed
AP , send async event to userspace with new configured values and send
enable command to fw with new thresholds.

Change-Id: I0c39de349c0f723d49d510c6e8ba09dcb98c6d17
CRs-Fixed: 3316985
2022-11-29 05:28:46 -08:00
Pragaspathi Thilagaraj
3ee2631939 qcacld-3.0: Fix potential wma NULL pointer dereference
Potential NULL pointer dereference of wma pointer in
wma_pasn_peer_delete_all_complete() API.

Add validation of wma pointer before passing it to the
wma_resume_vdev_delete() API.

Change-Id: I9ccb7baa0dba4cb6bbb4a16fd90ee7e2aafde1c5
CRs-Fixed: 3340866
2022-11-28 17:36:29 -08:00
Srinivas Dasari
7324535b01 qcacld-3.0: Copy link beacon from sync frame event to roam_sync_ind
When firmware attempts roaming to an MLO AP, it tries to find
the complete ML info(all links info) either through ML probe
response or beacons from all the links. It forwards all link
beacons(or ML probe response) to host as part of roam sync
indication through roam sync frame event.
Add support to fetch both link beacons and add them to scan db.
If firmware sends ML probe response, generate link probe response
as well and add it to the scan db.
The link scan result can be used in link connect in case of
hybrid roaming like OWE, 1x,..

Change-Id: Ic8457a5630441d6fd3faeb4791c79422db787f94
CRs-Fixed: 3335225
2022-11-25 10:24:49 -08:00
Asutosh Mohapatra
d434079ea3 qcacld-3.0: Optimize log prints
Optimize log prints in link_radio_stats_event_handler.

Change-Id: Ic5ea59de7c11596c0629961947a2d65ffdc6adf6
CRs-Fixed: 3338264
2022-11-23 21:51:40 -08:00
Ashish Kumar Dhanotiya
c169934c65 qcacld-3.0: Update feature set version
With the recent change in feature set information related
to 11kv version info, host driver needs to update the
feature set version info as well.
With this change, update the feature set version info.

Change-Id: I50a4df5769cd702eda5d1bc69ac9aad07d87269a
CRs-Fixed: 3334882
2022-11-20 22:02:56 -08:00
Asutosh Mohapatra
7b4c3a6fb3 qcacld-3.0: Set PM delay to 1200 ms for WOW_REASON_LOCAL_DATA_UC_DROP
Currently general PM delay is 500 ms. If fw sends wow wakeup with reason
code WOW_REASON_LOCAL_DATA_UC_DROP host wakes up, 500 ms after the
transactions again runtime suspend takes effect. Every time FW sends wow
wake there will be a small delay induced. It is noticed that large
frames are getting dropped for continuous wow wakeup events.

To address this issue increase PM delay to 1200 ms if fw sends
wow wake for reason WOW_REASON_LOCAL_DATA_UC_DROP and again
revert it back to 500 ms on next WoW enter.

Change-Id: I57bafc5ae8a633f1f685201ceb5936b59c985148
CRs-Fixed: 3330844
2022-11-16 15:36:38 -08:00
Vinod Kumar Myadam
ed92b87be6 qcacld-3.0: Optimize log prints
Optimize log prints in wma_mc_process_msg

Change-Id: Ic863926f9a2af8ba3ff37736a35e42ed460507cc
CRs-Fixed: 3328235
2022-11-11 06:01:02 -08:00
Sheenam Monga
45372b860a qcacld-3.0: Handle SRG and NON-SRG pd threshold
Currently, only single pd_threshold is fetched and
treated as SRG and NON-SRG pd threshold instead of
handling both threshold separately.

Fix is to get SRG and NON-SRG pd threshold from
userspace instead of single pd threshold

Change-Id: I2a131ea9040c799bc12a17a9ce42be02da8a717b
CRs-Fixed: 3328189
2022-11-10 09:33:10 -08:00
Ashish Kumar Dhanotiya
5eeff35d5a qcacld-3.0: Give correct information for frame pcap logging
Currently host driver indicates frame pcap logging feature as
supported by default to fw.
Host driver does not support this feature as of now, so indicate
this feature as not supported to fw in feature set capability info.

Change-Id: I5a6f4d83cca1b5b92d8a9159b68349534b112d92
CRs-Fixed: 3329222
2022-11-08 18:52:21 -08:00
Bing Sun
09b25d7556 qcacld-3.0: Define new_ch_width in csa_offload_params as phy_ch_width
Currently sme_switch_channel set new_ch_width as phy_ch_width, while
wma_csa_offload_handler set new_ch_width as raw bit in wide bandwidth
channel switch IE.
Clean up the code. Define new_ch_width in csa_offload_params as
phy_ch_width.

Change-Id: Iadecc7693bf4ffd9f9562405ef18ea9d25d45c9e
CRs-Fixed: 3324762
2022-11-08 16:49:10 -08:00
Jia Ding
2d267a9f31 qcacld-3.0: Fix undeclared identifier STA_ENTRY_TDLS_PEER
STA_ENTRY_TDLS_PEER is defined under feature flag FEATURE_WLAN_TDLS.
With FEATURE_WLAN_TDLS=n, compiler throws use of undeclared identifier
'STA_ENTRY_TDLS_PEER'.

Hence fix the error in wma_he.c:1276 introduced in change
I16073a51a8949093872f7a421e0ad01648b63e92.

Change-Id: I0038dad70147b5c4ded2abad34baf50c8bc32f83
CRs-Fixed: 3275175
2022-11-04 03:18:42 -07:00
Divyajyothi Goparaju
dc01aca04d qcacld-3.0: Replace wlan_reg_set_channel_params_for_freq
Replace all occurrences of
wlan_reg_set_channel_params_for_freq  API with new API
wlan_reg_set_channel_params_for_pwrmode.

Change-Id: I7ae94a7004803a96caeb7a77d03065096afe5f0e
CRs-Fixed: 3144793
2022-11-01 09:17:39 -07:00
Rajeev Kumar
7b78a85959 qcacld-3.0: Add beacon_rx log as part of iface stats handling
Add beacon_rx log as part of iface stats handling to know number
of beacons received during previous stats.

Change-Id: I90d30f354d879497ee5ae0f0f320efbcbb1741ab
CRs-Fixed: 3320914
2022-10-26 20:15:24 -07:00
Gururaj Pandurangi
6864e1582c qcacld-3.0: Add new API to extract link ID for all MLO modes
Currently, Host populates link IDs per link and sends it to FW
in case of EMLSR mode. Add new API to exclusively extract link
ID per vdev and share with FW via peer assoc command and hence
extend this logic across all MLO modes.

Change-Id: I270f3a54ee806bdcf1a2713f5a569d3a52743954
CRs-Fixed: 3300101
2022-10-20 18:01:15 -07:00
Paul Zhang
b5080fb430 qcacld-3.0: enhancement the beacon filter table
Enhancement the beacon filter table to add more
elements and extension elements.

Change-Id: Iee3bc9d768227102a971bafdb41db445c0f03d31
CRs-Fixed: 3296203
2022-10-20 14:39:34 -07:00
Asutosh Mohapatra
ec4c798f68 qcacld-3.0: Add support to advertise SAR_V2 DBS to userspace
Currently host only advertises SAR_V1 and SAR_V2 to userspace as
there is no mapping present for SAR_V2 DBS.

To address this issue add support to store and advertise SAR_V2 DBS.

Change-Id: Ic5d68361c4ce7275056117685100e8338466220c
CRs-Fixed: 3312593
2022-10-18 10:07:52 -07:00
Pragaspathi Thilagaraj
fea5b025f4 qcacld-3.0: Fix the frame check in cm_handle_roam_reason_deauth
In cm_handle_roam_reason_deauth() API the deauth_disassoc_frame
is validated to avoid NULL pointer dereference and the roam
event is dropped if the frame is NULL. But the firmware can
send the event only with reason code and without including the
deauthentication/disassociation frame. So disconnect indication
event is not sent to framework upon receiving disassoc/deatuth.

Remove the frame check to validate the deauth/disassoc frame.
Update the logic in pe_disconnect_callback to check the deauth/
disassoc frame pointer if length is non-zero.

Change-Id: Ibc612e89d6edbbd40d7c79713197e4121cddc097
CRs-Fixed: 3313804
2022-10-17 18:16:37 -07:00
Rachit Kankane
14e356b81e qcacld-3.0: Add async event for Spatial Reuse
Add async event for Spatial Reuse and also send Spatial Reuse
enable / disable event to upper layer due to same MAC concurrency.

Change-Id: Idcb5b99e39f1810e63ae7ac1e8d2eab6028a163f
CRs-Fixed: 3307801
2022-10-17 06:47:43 -07:00
Rachit Kankane
45f42c90a8 qcacld-3.0: Add concurrency check with SR
Add check for concurrency with SR, if SR with concurrency
is not enabled then disable the SR on existing VDEV as soon as
new VDEV is up.
When this new VDEV is disconnected, then enable back the SR on
the previous VDEV.

Change-Id: Id6aee592b889bb7006efb44420e6d272212e13ba
CRs-Fixed: 3306181
2022-10-17 06:47:37 -07:00
Rachit Kankane
983623c4b8 qcacld-3.0: Spatial Reuse enhancement for SAP
Add below two enhancements for SAP
1. Spatial Reuse enabled in single MAC concurrency
2. Set bit HESIGA_Spatial_reuse_value15_allowed in SRP IE

Change-Id: Id2d3d04ae1b3b9a2e6d84f30749b577bc7b79061
CRs-Fixed: 3305447
2022-10-17 06:47:26 -07:00
Vinod Kumar Myadam
58830e2f7b qcacld-3.0: Fix to OEM sync and async event handle
Presently host don't know whether event is rsp to the command
or async event from FW.

Handling req and async events with new enum
wmi_oem_data_evt_cause added in FW to represent event causes,
WMI_OEM_DATA_EVT_CAUSE_UNSPECIFIED,
WMI_OEM_DATA_EVT_CAUSE_CMD_REQ,
WMI_OEM_DATA_EVT_CAUSE_ASYNC.

Change-Id: I31a3f415fed64dc6231ca0eb29de5b80c94493f3
CRs-Fixed: 3305281
2022-10-14 11:52:41 -07:00
Yu Wang
0e8ac06ee6 qcacld-3.0: fix build failures caused by QDF_MAC_ADDR_REF
Build failed once WLAN_TRACE_HIDE_MAC_ADDR is enabled,
due to 'error: type mismatch in conditional expression'.

To fix it, correct the parameter for QDF_MAC_ADDR_REF.

Change-Id: Ifd89b02ab5fb2e3b59291c303ad93b691616dc57
CRs-Fixed: 3308193
2022-10-11 22:21:19 -07:00
Paul Zhang
a7ec19fb25 qcacld-3.0: Ignore the last channel event data
The last channel event data whose command flag is set to 1.
It’s basically an event with empty data only to indicate
scan event completion. The process of WMI_CHAN_INFO_EVENTID
should ignore it or it takes the freq 0 as selecting first
clean channel for ACS which is not expected.

Change-Id: Ia64b4ad16fa3571363f16fe419cf861fbbe19038
CRs-Fixed: 3306049
2022-10-11 08:28:33 -07:00
Ashish Kumar Dhanotiya
7df2e56639 qcacld-3.0: Update band capability as well in feature set info
Currently host does not update band capability to fw as
part of feature set info.
With this change update band capability as well as part of
feature set info.

Change-Id: Ieb6d800c1c88a56bf72fac6e105f3498eb22ab58
CRs-Fixed: 3302989
2022-10-06 18:28:17 -07:00
Asutosh Mohapatra
d64cb46a9c qcacld-3.0: Fix prevent issues
This change
1.fixes the use of uninitialized
variable in host driver.

2.Adds validation in extract_roam_sync_frame_event_tlv
Where these frame lengths are getting populated,
also at the place where subtraction happens to prevent
overflows

3.Adds NULL check in wma_handle_roam_reason_deauth, to avoid
the null pointer dereference.

Change-Id: I2d5ba61fb109f6d8b497df29cfa2dd572c00adeb
CRs-Fixed: 3297792
2022-10-03 13:01:30 -07:00
Jeff Johnson
09ce6ae175 qcacld-3.0: core: wma: Fix misspellings
Fix misspellings in core/wma/...

Change-Id: Ie335a23b85dac4ee5670704a9e3c2eb07f511cfc
CRs-Fixed: 3303623
2022-10-03 00:19:18 -07:00
Pragaspathi Thilagaraj
34600ce17a qcacld-3.0: Update wifi_pos_vdev_delete_all_ranging_peers_cb call
Update wifi_pos_vdev_delete_all_ranging_peers_cb call to call from
rx_ops instead of wifi pos tx ops.

Change-Id: Ic62d4a733ad3ea2e0064215e94e52b1444fcc4ec
CRs-Fixed: 3298483
2022-09-30 07:48:56 -07:00
Gangadhar Kavalastramath
5feb595ea3 qcacld-3.0: Add NULL check for a pointer before dereferencing
Added NULL check before dereferencing txrx node pointer.

Change-Id: I6f136a9a850d251909d5292ef144b3bd0e251dd2
CRs-Fixed: 3300025
2022-09-29 02:27:39 -07:00
Jeff Johnson
95eb68913f qcacld-3.0: Rename wma_txrx_node::is_del_sta_defered
Rename is_del_sta_defered to is_del_sta_deferred to fix misspelling:
defered ==> deferred.

Change-Id: If4ee31ddc9352fae367b99baffde56233857a64f
CRs-Fixed: 3281817
2022-09-27 14:58:13 -07:00
Jeff Johnson
7f5b081c65 qcacld-3.0: Rename wma_check_for_deffered_peer_delete()
Rename wma_check_for_deffered_peer_delete() to
wma_check_for_deferred_peer_delete() to fix
misspelling: deffered ==> deferred

Change-Id: Ib6af35511ec65396c9d744d74f1f42bf5e7a04db
CRs-Fixed: 3281818
2022-09-27 14:58:07 -07:00
Amit Mehta
8d830534f3 qcacld-3.0: Add changes to read tsf via scratch register
Read TSF via scratch registers instead of WMI commands. Added framework
to initialize/de-initialize the deferred context for register reads.

Change-Id: Id5309bf3117f04fb3d321ddd3af50e4bdf223561
CRs-Fixed: 3287534
2022-09-26 16:16:49 -07:00
Arun Kumar Khandavalli
5a47c80e8f qcacld-3.0: update EHT rates matching to firmware rates
Currently there is a discrepancy in the txrx rates for EHT between
the host & firmware, resulting in the reporting invalid rates to
userpsace.

Correct the EHT rates between the host & firmware.

Change-Id: I894689fb6c760889755188d6138ad2f20586c278
CRs-Fixed: 3290593
2022-09-26 03:36:48 -07:00
Rahul Gusain
dcd308a6c0 qcacld-3.0: Add support for MLO self peer in tx mgmt path
During ANQP query, supplicant sends the action frames to firmware
and currently, host driver drops tx mgmt frames as peer is not
available. This is because in tx mgmt path, it retrieves the self
peer from non-MLO mac addr but driver creates the peer of type
AP(PEER_AP) with MLD mac addr when MLD mac addr is non-zero and for
non-MLO case, it creates self peer with non-MLD mac addr.
So, to fix this, in case of MLO mac addr, create the self peer while
creating vdev and retrieves that peer with MLD address in tx mgmt path.

Change-Id: Id7ef97668fbd1bf1914d37d09682119eb79be465
CRs-Fixed: 3297288
2022-09-22 21:19:36 -07:00
Aditya Kodukula
1472d9ad6d qcacld-3.0: Disable 11be when not supported by target
Disable 11be when not supported by target

Change-Id: Iecf9ab3eab5a9e69b01fb03b30b028b57019b10d
CRs-Fixed: 3291961
2022-09-22 06:09:24 -07:00
Jianmin Zhu
76b7b34cdd qcacld-3.0: Support transmit addr for roam pre-auth
When roam from SAE legacy to SAE MLO, pre-auth TA is MLD address,
while peer AP expects link address, pre-auth fails.
Parse transmit address field from firmware roam_preauth_start_event and
include it when send NL80211_EXTERNAL_AUTH_START to wpa supplicant for
SAE roaming cases.
If transmit address is all zeros, wpa_supplicant will not do ML sae
auth, use MLD address as TA.
If transmit address is not zeros, wpa_supplicant will do ML sae auth,
use 'transmit address' as TA.

Since self peer is created with mld address, when roam from legacy to
MLO, try to get peer by mld address during pre-auth tx since bss peer
absent, or TX fails for no peer.

Change-Id: I99ed846e94165bfe01e1d1e8c620f035751c7056
CRs-Fixed: 3289987
2022-09-21 21:38:08 -07:00
Deeksha Gupta
58da7e50f7 qcacld-3.0: Add 11be eht_cap in SAP mode
Implement 11be eht_cap in SAP mode.

Change-Id: Icf1b36bd5723f12d1e8ce3fddcb7cfa1302c4390
CRs-Fixed: 3265711
2022-09-19 19:23:49 -07:00
Aravind Kishore Sukla
d99bf7c571 qcacld-3.0: Explicitly send vdev_stop_rsp in SSR
VDEV destroy timed out happens in SSR when device
has prior active MLO connection.
The reference for MLO MGR is not released in this
case as FW response for VDEV stop won't be received
during SSR.

Initiate VDEV stop response explicitly for the driver
to deinit MLO context.

Change-Id: I934c7161189fbceb9e0de93aad6f0f9ff45102ac
CRs-Fixed: 3286321
2022-09-19 07:34:06 -07:00
Ashish Kumar Dhanotiya
598a31450c qcacld-3.0: Check band capability as well to decide wifi standard
Currently host does not consider band capability when it decides
supported wifi standard info. This results in incorrect supported
wifi standard info. For example if dot11 mode ini is set to auto
and 6 GHz is disabled from band capability and if host does not
support 11BE, in this case if host does not consider band
capability it reports supported wifi standard as wifi 6E, but
ideally it should not report wifi 6E as it wifi 6E mandates
6 GHz support.

To address above issue, consider band capability as well to
decide supported wifi standard.

Change-Id: Iae7804a73d8ba36ec855fdc4c00ca3106e43b350
CRs-Fixed: 3282169
2022-09-16 07:27:03 -07:00
Jianmin Zhu
c5b2a64098 qcacld-3.0: Clean up legacy wma_roam_auth_offload_event_handler
Clean up useless legacy code wma_roam_auth_offload_event_handler.
It is replaced by target_if_cm_roam_auth_offload_event already.

Change-Id: I473d20f70c00c7d0e4c390a19b4ec6fdf9c0268b
CRs-Fixed: 3290006
2022-09-13 23:02:32 -07:00
sandhu
7d757e6431 qcacld-3.0: Fill MCS rates for TDLS off-channel 160 MHz
fill the MCS rates for TDLS off channel, update wma pouplate
to fill peer assoc mcs values in peer assoc command.

Change-Id: I16073a51a8949093872f7a421e0ad01648b63e92
CRs-Fixed: 3275175
2022-09-13 06:34:54 -07:00