In api hdd_update_nss(), when unit test command 'iwpriv wlan0 nss 1'
is used in 1x1 mode, the fail status is returned resulting in test
case failure.
Return a success status in api hdd_update_nss() for 1x1 mode resulting
successful execution of test case.
Change-Id: Id482c2686b48a0b6cdd41980c4eb4424da775ad0
CRs-Fixed: 3195517
Currently driver ignores the bssid parameter in STA mode for
NL80211_CMD_GET_STATION command. Add support for mapping link
bssid with corresponing adapter to fetch the stats.
Change-Id: I99a87d1946cafedd707961962c415d1f179efb91
CRs-Fixed: 3181024
As part of MLO stats feature, add support to process get_station
stats for all MLO vdevs and store them in the corresponding adapters.
Change-Id: I21034f7769290603f1540c84aed55cc0a39defcf
CRs-Fixed: 3181022
As part of MLO stats feature, add support to process link layer
stats for all MLO vdevs and store them in the corresponding adapters.
Change-Id: Ia6d731c94eaa3a355a9deae61d07dd06c5d412bd
CRs-Fixed: 3181021
Currently MIC work/spinlock are getting registered for the MLO
adapter only, during interface down driver is trying to flush
an uninitialized work acquiring uninitialized spinlock this will
result in system instability.
Initialize the MIC work for the link adapters.
CRs-Fixed: 3177796
Change-Id: I975bbe2e57e6b5988b78c1c91107b8a1f2bcbe8a
Move wlan_mlme_get_wlm_multi_client_ll_caps API to dispatcher
folder so that other components would use this API to get
the multi-client feature capability flag.
Change-Id: Ib247401b9411c40a838b338a60d44cb187884480
CRs-Fixed: 3181381
Based on the ini "sta_sap_scc_on_indoor_chan" the behavior of
STA+SAP in scc is as follows:
1. STA is on 2.4 GHz & SAP is on 2.4 GHz and SAP user configured
initial channel was on 5 GHz, then move SAP to 5 GHz initially
started channel
2. When STA + SAP are doing SCC on indoor only channel and
a) STA moves to 2.4 GHz -> then SAP moves to initialy started
channel
b) STA moves to another indoor only channel -> SAP follows
STA channel
c) STA moves to non-indoor, non-dfs channel -> SAP follows
STA channel.
d) STA moves to DFS channel -> SAP moves to 2.4 GHz channel
e) STA disconnects -> Move SAP to initially started channel
3. STA is on 2.4 GHz & SAP is on 5 GHz non-indoor, non-dfs channel
and STA moves to 5 GHz channel, then SAP should follow STA to 5 GHz
if SAP was initially started on 5 GHz channel. Else SAP restart
is not required and SAP will remain on the 2.4 GHz channel
Change-Id: I655dffff026d8147e13599dddc024980ba157be5
CRs-Fixed: 3186965
All the DP specific code logic is moved out of HDD to
new DP component. So update HDD module to use newly
introduced DP component APIs for DP specific operations.
Change-Id: I02fd36c45ec247fbd4fe79e035c1176cba3ebcec
CRs-Fixed: 3172570
Add and register HDD callback APIs with DP component.
With this changes DP component will be able to call
HDD APIs which cannot be moved to DP component,
and to get information from HDD.
Change-Id: I393a12dc44b0c38a84a2c0245653c477ac6f2faa
CRs-Fixed: 3172463
Due to Kernel 5.15+ upgrade, the correct kernel function must be used
to register netdevice. Hence, set the add virtual interface flag in
order to properly call cfg80211_register_netdevice().
Change-Id: I1fb0407dc8cb4858881b81d6cb5d4c280b3f9981
CRs-Fixed: 3192543
hdd_is_connection_in_progress_iterator loops through all adapters
and the sta_info present in each adapter to find out
if any connection is in progress. In SAP case, there could be
multiple sta_info present and need to traverse through them by
avoiding running into loop on the same sta_info/released
sta_info. The hdd_for_each_sta_ref_safe helps for the same but
takes two references, one for sta_info and one for a
temporary entry. Release both after checking the
connection status.
Change-Id: I58a49e12b6d581dbaf1c129ce5a5196b31fb432f
CRs-Fixed: 3188412
Currently no 11be phymode is supported in bus bandwidth vote table,
then for 11be mode, wlan driver vote during throughput test is not right.
Add 11be support in bus bandwidth vote table.
Change-Id: I2b35d98f56d93207c117e07caf13b9e6bc8ec209
CRs-Fixed: 3184731
Fix the indentation of the 3rd parameter for all of qdf_str_lcopy() calls.
Replace the magic numbers with action_oui_id enums in the destination array
index for entries 0-6.
To align with out software architecture the umac code should not be calling
ucfg (user configuration) APIs, these should only be called by HDD/OSIF.
Instead the action oui component should export an inter-component API
wlan_action_oui_* which this function calls.
Change the implementation of the ucfg_ api to call the wlan_ API.
Change-Id: Id75eb6bd1ceb8031ccd0cc9c2f5826872969dc6f
CRs-Fixed: 3192204
Currently driver sends unified ll stats command to request ll_stats
and station stats even if station is in disconnected state.
There are no stats required in disconnected state and fw does not
collect any stats in disconnected case. If host requests station
stats in disconnected case, fw sends all stats as 0s, so there is
no need to request these stats in disconnected case.
To address above issue, add a check to not send unified ll_stats
command in disconnected case.
Change-Id: I9701830d2e671020e564a42d2d866de420cfa0a4
CRs-Fixed: 3186240
One special AP sets MU EDCA timer as 255 wrongly in both beacon and assoc
rsp, lead to 2 sec SU UL data stall periodically.
To fix it, add ini gActionOUIDisableMuEDCA to specify action OUIs to
control MU EDCA configuration when join the AP, reset MU EDCA timer to 1
and config to F/W for such AP.
Change-Id: I0ad26214417d33bafcbb6939a247bebe4f4637f8
CRs-Fixed: 3180249
Userspace sends the vendor command WIFI_TEST_CONFIGURATION by
setting the attribute WIFI_TEST_CONFIG_IGNORE_H2E_RSNXE when
driver needs to ignore the SAE H2E mismatch for 6 GHz connection.
This is needed for certification test support.
Change-Id: Ic26e733e21811a9f19c6e35e27a9d63616c17c1b
CRs-Fixed: 3050391
Added new threshold corresponding to SUPER_HIGH
throughput and maxed out vote level to PLD_BUS_WIDTH_MAX.
Change-Id: Ia6c411b2b1b77ff97d0058c84b2108415e6c0f45
CRs-Fixed: 3170485
Currently, the wlan driver returns error if it receives
invalid or duplicate commands from framework to enable/disable
wifi. So, for the framework to track the current state of wlan
driver, refactor the existing logic so that, it returns error
only for invalid values received from framework.
Change-Id: I11ec6adc0970ca2d1b07c0e32104fd5312b6b54a
CRs-Fixed: 3189019
Make puncture work for 11be. Puncture is in EHT operation IE. It should
be supported for 11be mode without MLO IE.
Change-Id: I4406e81895a53d2975aaf5049c8e98a879522888
CRs-Fixed: 3184867
Inadequate error handling is causing NDI create to timeout when an
error occurs and follows different function call path. This results
in the is_virtual_iface flag not being set in some scenarios and
the wrong {un}register_netdevice() kernel function being called.
Hence, set the flag in hdd_close_ndi() as well in order to avoid call
the current {un}register function.
Change-Id: I58111ce2a4a0021f4070b2d22db5d997eb2332c2
CRs-Fixed: 3184560
When a station is connected to SAP and host driver receives
getstainfo command, it gives rssi info as part of tihs command.
Currently host driver does not update this rssi information
correctly because of which userspace is getting rssi info as
positive value which is not correct.
To address above issue, update rssi info correctly in the host
driver.
Change-Id: I87033184644a1d246f8669c74153c46837a35276
CRs-Fixed: 3184344
When a NAN request(NAN enable/disable/any generic) is received
from userspace, host driver checks if any connection(STA/SAP/P2P)
is in progress by iterating through adapters. The request would be
rejected if any adapter has connection_in_progress status.
But if the adapter is getting cleaned up in parallel while
iterating through the list for connection status, the iterator
callback may stuck in loop. So, use hdd_for_each_sta_ref_safe()
API to avoid stuck in loop.
Change-Id: Ic7833dcb17154003565ccbece31a490ee9f43beb
CRs-Fixed: 3183232
Currently, it can only set 2 or 3 for WMI_VDEV_PARAM_BA_MODE per the value
from attribute QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_ADDBA_BUFF_SIZE.
For enhancement, add logic:
5 - buffer size 512
6 - buffer size 1024
Change-Id: I8716b48659e9165604f04522f5703e9e5e46a907
CRs-Fixed: 3181782
Do not have user_edca_set variable in the packed structure.
The packed structure is used in various places for copying
and casting.
Change-Id: Ic9203d73757830113df91c37da883eb19f7bff10
CRs-Fixed: 3182540
tx_bitrate is used as indication of macThroughputCapacity in transmitter
link metric for backhaul STA link.
tx_bitrate is added in wlan_node_info structure and os_if interface is
exposed so that SON module could get the tx_bitrate parameter.
Change-Id: Ib9949906b3247519bf8c1ce786d6b93d38d4d8ea
CRs-Fixed: 3154548
Use the Connection Manager state machine to check if the
VDEV is currently in roam sync state. RSO states can be
changed dynamically based on the roaming configuration, whereas
the state machine would maintain the state.
Change-Id: Ic5c9a3a322febfe6b71f4684d5074dad599ecd37
CRs-Fixed: 3183191
During monitor mode set target chan freq is incorrectly set
change is to set the chan freq to correct freq value in
wlan_hdd_set_mon_chan and wlan_hdd_cfg80211_set_mon_ch api's.
Change-Id: Ie5e7ce7cdf7417cddfdba808a76ab466397dfd9c
CRs-Fixed: 3183292
fcs_err_count member of structure station_info
introduced from kernel 4.20.
Enable it accordingly from 4.20.
Change-Id: Ic373cb4f95a9698c8ef25c829f39bd21cd8f4a26
CRs-Fixed: 3183697
Currently driver does not update ccfs2 correctly in ht operation
when it caches the connetion info, because of this userspace
is not able to get correct bw info for sta big data.
To address above issue, update ccfs2 corrrectly in ht operation.
Change-Id: I13dc8b674d24be7435a85b91a1ecc43e0c37900b
CRs-Fixed: 3183162
As part of protected dynamic interface control feature,
add support to force disable/enable wifi, by performing
a soft unload/load of the wlan driver.
Change-Id: I6f9ab99bf6a3124e1ffd3c8ffd6c2bd50322a3b6
CRs-Fixed: 3171854
As part of protected dynamic interface control feature, add
infra to disable/enable wifi, when invoked from user space.
Change-Id: I3f6c2abcef1ef89cbd0a735820de9b54d37bfa29
CRs-Fixed: 3166467
Add support for QCA_WLAN_TWT_SET_PARAM command to configure
QCA_WLAN_VENDOR_ATTR_TWT_SET_PARAM_AP_AC_VALUE attribute.
This attribute provides access category value for
WMI_PDEV_PARAM_TWT_AC_CONFIG. This is used by firmware to
configure access category for TWT HW queue in TWT Responder
mode(SAP).
Change-Id: I5131967ff2061bf6afad7bc5f091a7eb5ee01b8a
CRs-Fixed: 3168197
If the multi-client Low latency feature is enabled
in the driver, the host includes a multi-client id
bitmap and the corresponding latency level and sends
the WMI_WLM_CONFIG_CMDID command to set the latency
level in the firmware.
FW calculates a stringent latency level and as a
response to the WLM config command, Fw sends an event
WMI_LATENCY_LEVEL_EVENTID to the host to configure a
stringent latency value.
Change-Id: Ib7a474956f39ef26e1d957b7619ebb8ac87233a6
CRs-Fixed: 3180939
Currently, data stall events are not detected individually.
Updated gEnableDataStallDetection ini provides control over
individual data stall events if bit 0 is not set.
Change-Id: Id4fd7f10f0806a39c5bdb7b8c097c26894dc5340
CRs-Fixed: 3159405
The extended cap IE from the hostapd is of variable
length, but it is always type casted to a fixed length
of 11 octets. This leads to OOB access of memory and
incorrect data gets read. In this case, beacon protection
is not enabled in the ext cap IE, but due to OOB access
beacon protection is read as 1.
Fix the OOB access by typecasting the IE to the length of
the IE.
Change-Id: Id9a54e3467fa9f7a49687da41411a421fd9c9d37
CRs-Fixed: 3178294
Add support to dump the full management,eapol,
dhcp, arp frames based on the level of the
debug_packet_log configured through ini gEnableDebugLog.
The dump levels are as follows:
* 0x1 - Enable mgmt pkt logs (except probe req/rsp, beacons).
* 0x2 - Enable EAPOL pkt logs.
* 0x4 - Enable DHCP pkt logs.
* 0x8 - Enable mgmt action frames logs.
* 0x10 - Enable ARP pkt logs.
* 0x0 - Disable all the above connection related logs.
Change-Id: If572cccb327da785dd0d56cff6d37ba170b15cc8
CRs-Fixed: 3173604
On Wear HL based target with keystone kernel, it generates
WLAN driver with name "qca_cld3_wlan.ko" based on macro
definition WLAN_WEAR_CHIPSET. But the driver was not loading
because of the old INI path and /dev path.
This commit modifies the INI path and /dev path based on
macro defined i.e. WLAN_WEAR_CHIPSET.
Change-Id: I6d457a3bb708de3175c40b0f2b3ba0ebde915838
CRs-Fixed: 3168115