Currently the driver is not synchronized properly between SSR and wifi
ON/OFF. This causes a potential deadlock resulting in a DSC timeout.
To synchronize, add a wait in wlan_hdd_state_ctrl_param_write
which is called during WiFi ON/OFF. This wait will ensure that the
driver recovery is complete before proceeding with ON/OFF.
Change-Id: Ia1c4f8d7076d77c591276ee380b55a747cf606bd
CRs-Fixed: 2701513
Convert the tx complete status or A_STATUS to the correct dp status
before pass to qdf_dp_trace_ptr
Change-Id: I1ad94c8c293c29c9789e6dc761244911a7520707
When config chanlist with DFS channel only, SAP can't be started
due to all DFS channel are all excluded and can't find available
channel in current chanlist. Issue is introduced by
'Change-Id: I53a22a0059d56aa8fca66215fed1ed0588db7db5'.
Fix is to set default ini np_chan_weight value to 1, then DFS channel
will be most likely put at last in available chanlist and DFS channel
will be the last choice when no other normal channel can be used.
If config chanlist with DFS channels only, SAP still can be started
on DFS channel successfully.
Change-Id: I04f70068069ff5c4f68b7d7fa56a2ede40035c6e
CRs-Fixed: 2694415
BTC mode should be set according to BTC chain mode, which can be
updated dynamically during runtime.
Change-Id: Ifc95d3340ab19e217bd55a0ca5ce69988650f9e0
CRs-Fixed: 2666550
Hardware filters are supported for STA and P2P client modes.
But it's configured for NDI mode also currently. Don't configure
hw filters for NDI mode as it's not supported.
Change-Id: Ifc8f213a6279c8eb0ddde60c4f9b3538bc841ffc
CRs-Fixed: 2688396
The current policy table for OFFLOADED_PACKETS is incorrect and does
not match the uptream versions. Hence, rearrange the table contents
with the proper parameters to fix this.
Change-Id: I1e6b0ebc3ef4f622833778e0545d50783d524551
CRs-Fixed: 2701205
This reverts Change-Id: Iaf86c9da2a9946aac09867b5c46dcc79f1b5c37e.
That change fails build for GKI variant.
Change-Id: I6cd7322870023d245fe9d20250ceb0b5d738d214
CRs-Fixed: 2701642
Add support and use IS_ENABLED in code, if CONFIG_IPA3 config as
loadable kernel module.
Change-Id: Iaf86c9da2a9946aac09867b5c46dcc79f1b5c37e
CRs-Fixed: 2701642
Any connection in 11g/a is very latency sensitive and
we need to vote for a higher DDR frequency than in
the other phy modes.
Identify the number of latency sensitive connections
in STA mode and vote for higher DDR frequency for the
latency sensitive cases.
Change-Id: I2ce20b2b40213bde52211eae659c9673c6e0d305
CRs-fixed: 2695045
The hostapd sends the EDCA configuration for tx queue set in the
hostapd.conf config file using nl80211 interface.
Add support to extract the configuratin in the cfg80211 callback
function wlan_hdd_set_txq_params and invoke SME api to send the
parameters to MAC layer.
CRs-Fixed: 2693865
Change-Id: I8acfc03d9a6ad17a1df0c03955cf3b4150a4fbef
The change If6d559a3aa7b8719a515e00e271e313c02f8135f has modified
few attribute types from NLA_UNSPEC to NLA_BINARY. But NLA_BINARY
validates only for max length and doesn't validate min length.
This could cause buffer overread if userspace sends less data as
the driver reads fixed length(e.g. 6 bytes for mac_addr) always.
Use VENDOR_NLA_POLICY_MAC_ADDR(NLA_POLICY_ETH_ADDR) or
NLA_EXACT_LEN instead of NLA_UNSPEC which validates for
exact length.
Change-Id: I92cc29716dff29037d14ffd2e269761149c7f74b
CRs-Fixed: 2700695
Currently in the driver there is a possible race condition between
hdd_open and idle_psoc_timeout wherein stop modules is being done. Both
these operations can potentially occur in parallel.
To synchronize, flush the idle_psoc_work in wlan_hdd_state_ctrl_param_write
which is called during WiFi ON/OFF.
Change-Id: I1d53fa9d53ca31c2c1466f0ee809a07a86a06ee0
CRs-Fixed: 2701512
Add support for OEM_DATA_RESPONSE_EXPECTED. Driver waits for the
response from FW when this attribute is set and forward the blob of
data to supplicant.
Change-Id: I3e51809e4f5736b521c26e37afb02396f9c5ed23
CRs-Fixed: 2694556
Add a new ini to enable/disable the handling of the
latency critical clients (eg: 11g/a) in the bus
bandwidth timer.
Change-Id: I4b8966aa29ffc2ca236098cb83b8db0e160b776b
CRs-Fixed: 2695042
Add QCA vendor subcommands QCA_NL80211_VENDOR_SUBCMD_CONFIG_TSPEC
to add / delete TSPEC in STA mode.
The attributes defined in enum qca_wlan_vendor_attr_config_tspec
are used to encapsulate required information.
Change-Id: I9553fba1189d562f6f0205e86b281172213344ba
CRs-Fixed: 2686250
This reverts Change-Id: Ib3e851c0822a85c4712a1b817cc19dfecf6d0e7a.
First we need to get ABI snapshot/Whitelist updated for the new
kernel API being used in this change and then only we can promote
this change. To unblock promotion, revert this change for now.
Change-Id: I8aae0fe64623034486c9db6275a16654119c06bd
CRs-Fixed: 2673959
This reverts Change-Id: Id4d2eaaa2262d7fe2dd6241ae4581a3d0cb09805.
This change is incorrect because the caller passes in the
bodyptr directly to parameter. The change incorrectly dereferences
the parameter.
Change-Id: Iaaedae1a3498fc1c10024083ee98ce97c3401f82
CRs-fixed: 2701124
Currently if kernel enable CONFIG_IPA3, wlan driver will directly
send IPA enabling flag to firmware, not checking gIPAConfig.
It lead to IPA disabled in driver but enabled in fw, causing fw crash
for some target like Genoa.
Correct logic is to check gIPAConfig before configure firmware.
Change-Id: I6e85c6bf3831029826bf279237eac2cc3a1ff07f
CRs-Fixed: 2698953
Currently there is no vdev->osif_rx result check in fisa path,
so if vdev->osif_rx returns failure, the RX skb may not have been
handled and it may be leaked.
Add vdev->osif_rx failure handling to avoid skb leak.
Change-Id: I6c194c31bbe71cba5c56c2b93f505225de439b72
CRs-Fixed: 2695084
Add calls to disable packet capture events and
delete monitor interface while sta interface is
going down if packet capture mode is enabled.
Change-Id: I4094e072ac723348d4d0d8a4ccefb5bf2b77e6d5
CRs-Fixed: 2647503
hdd_get_connected_station_info ignores some peer txrx
statistics if gSapGetPeerInfo is not set.
Change-Id: I02e607c081a932601c9c84998f5e9ede3563110e
CRs-Fixed: 2691717
In FW CFG_TGT_DEFAULT_MAX_STA_VDEVS considers total no of
STA and P2P-CLI vdevs. Enable CFG_TGT_DEFAULT_MAX_STA_VDEVS
check for P2P-CLI mode.
Change-Id: Ic21cf39628e7ad19102b040ffdf493a14205043a
CRs-Fixed: 2680645
Update return type of nan_discovery_flush_callback to return
QDF_STATUS to match scheduler_msg_process_fn_t.
Change-Id: I3a2c32beaff471ed3a2e8e3956292257e074cd50
CRs-fixed: 2698305
Currently, Rx retry count statistic is not supported by firmware.
So host driver also not updating the corresponding statistic in
peer stats. Datapth is updating this counter using retry bit in the
rx MPDU. Update peer Rx retry count value from data path.
Change-Id: I4fd422faa7a766090991c461cd6fd2cc70d2fcc3
CRs-Fixed: 2691704
NLA_UNSPEC usage is restricted from kernel version 5.4 by adding
a strict check while validating the nla_policy. The advantage
of this is that types not specified in the policy will be
rejected.
Driver can give exception to NLA_UNSPEC by setting
strict_start_type in the policy of a vendor command to NLA_U8
or some greater value. But it's better to set the type to a
valid type so that kernel can validate.
So, use NLA_BINARY with valid length instead of NLA_UNSPEC.
Change-Id: If6d559a3aa7b8719a515e00e271e313c02f8135f
CRs-Fixed: 2692293