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
In case if the EXTERNAL_AUTH_SUPPORT is present natively
in kernel, then the backport flag CFG80211_EXTERNAL_AUTH_SUPPORT
will not be present.
Currently host checks for defined(CFG80211_EXTERNAL_AUTH_SUPPORT)
flag to register ops for external_auth. This results in external
auth fail in the above case.
In the driver all instances of
“defined(CFG80211_EXTERNAL_AUTH_SUPPORT)” should be paired with
|| (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 17, 0))
where 4.17.0 is the kernel version where the external auth support
gets added to the upstream kernel.
Change-Id: I67b687b37ab60b581e97ea81243c0d30bbb17acd
CRs-Fixed: 2692697
Add the sysfs entry for set_he_bss_clr.
Previously these commands would be queried via iwpriv
--> iwpriv wlan0 set_he_bss_clr [value]
it is now changed to support via sysfs:
--> echo [value] > /sys/class/net/wlanxx/he_bss_color
Change-Id: I4700414469be018de9758277c4e095e64cabb376
CRs-Fixed: 2692916
Currently when rrm measurement is completed for a particular
index, the rrm_cleanup() is called which clears the measurement
data for all the index. This can cause failure with multiple
measurement request where on completion of the first request,
second request data structure will also be made null.
Pass the measurement index to rrm_cleanup() and clear only
that index data.
Change-Id: Ib712c2da3ddfea374d60b250dd474b08093b24c7
CRs-Fixed: 2695836