There are duplicate macros for the same purpose, hence
replace WLAN_ALL_SESSIONS_DIALOG_ID with TWT_ALL_SESSIONS_DIALOG_ID.
Change-Id: I63130869eed8dffcce85fe6a04586592ab3eaca2
CRs-Fixed: 3047686
Currently driver switches to a random channel when radar is detected.
Easymesh expects ap switching to a given channel.
Add API to set/get given channel. AP should switch to given channel
when radar is detected.
The given channel will be cleared after a radar detection.
Change-Id: I29b97e247583be768842c128e6a3e5d5bfd859f7
CRs-Fixed: 3034735
Provide below APIs for easy mesh.
API to get the current frequency of the given VDEV.
API to get acs status of the given VDEV.
API to get cac status of the given VDEV.
API to get/set bandwidth of the given VDEV.
API to get band information of the given VDEV.
API to get connected STA count of the given VDEV.
API to get BSSID of the given VDEV.
API to get SSID of the given VDEV.
API to set channel of the given VDEV.
API to get/set cac timeout of the given VDEV.
API to get/set country code of the given VDEV.
Change-Id: Ia0bd201ad8155a66a4a8c5517f6fa43f3f358505
CRs-Fixed: 3027192
Refine API to get adapter from vdev directly.
Remove parameter hdd_ctx of wlan_hdd_get_adapter_by_vdev_id_from_objmgr.
It is good enough to get adapter from input parameter vdev.
Move output parameter adapter to return value.
Change-Id: Ide6ac7466cee0f1e7fea9b31d325bd432548ff55
CRs-Fixed: 3037265
Currently host driver does not free the memory for HE
operation from cache connection info when it receives change
interface from STA to SAP mode which results in mem leak.
To address above issue, free HE operation element memory on
STA to SAP interface change.
Change-Id: I837640814459a62d819e606fc44adc9bfc60fe5c
CRs-Fixed: 3045848
Currently driver is not filling assoc reject status because of
which assoc reject status is always set to 0 which always
represents assoc success, informing the incorrect information
to user space.
To address above issue, fill assoc reject status correctly
from connection manager.
Change-Id: I52dab4467f1105e0cc7f525449f554c857eadf61
CRs-Fixed: 3043471
In the dual APs DBS case, hdd_get_sap_operating_band
always return the operating band of last adapter and
might not be the current adapter's operating band,
which is not right.
So adding this fix to get operating frequency of
current adapter and then convert to according band,
then get the correct nss info.
Change-Id: Ief171d9b3d66937bede5fbe65be031bdc19529c8
CRs-Fix: 3043735
Currently host driver processing link layer status event is under
protection of spin lock, it disabled preempt. Now function
wma_unified_radio_tx_mem_free to free memory in wma tries to get
mutex lock, this cause issue about sleeping function called from
invalid context. Fix the issue to spin unlock before memory free.
BUG: sleeping function called from invalid context at kernel/locking/mutex.c:937
in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 256, name: kworker/u16:3
Preemption disabled at:
Call trace:
___might_sleep+0x20c/0x210
__might_sleep+0x50/0x88
__mutex_lock_common+0x6c/0xe20
mutex_lock_nested+0x2c/0x38
qdf_mutex_acquire+0xa8/0x2bc [wlan]
wma_unified_radio_tx_mem_free+0x34/0xe0 [wlan]
sme_radio_tx_mem_free+0x24/0x50 [wlan]
wlan_hdd_cfg80211_link_layer_stats_callback+0x6c4/0x750 [wlan]
wma_unified_link_iface_stats_event_handler+0x32c/0x364 [wlan]
__wmi_control_rx+0x46c/0x560 [wlan]
wmi_rx_event_work+0x224/0x390 [wlan]
Change-Id: I3d36b755f2221492d65cc0b891c1f35ee0204bbc
CRs-Fixed: 3044009
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
Update operational rates set, extended operational rates set
and MCS based rates set in VDEV MLME legacy priv object on
connect success.
Refine the APIs for fetching these rates.
Change-Id: I7697b3d2e26e2fc565a2e672afe19f255af89d7e
CRs-Fixed: 3044036
Fix few missing attribute in below connectivity events:
QCA_WLAN_VENDOR_DIAG_EVENT_TYPE_EAP_RESPONSE
QCA_WLAN_VENDOR_DIAG_EVENT_TYPE_ROAM_SCORE_CURR_AP
Also send the roam candidate info properly to userspace.
Change-Id: Ia9c4f095316adf8f40294f1e119cad648749bb72
CRs-Fixed: 3037650
During periodic stats poll for ll_stats and get_station_stats,
if qmi sync resume fails, add an error log.
Change-Id: Iad8d6959d39a6caaa67a24671c833d5e64e47d26
CRs-Fixed: 3045876
Currently for station case if driver receives big data stats
command when station is connected it does not reject the command
and returns the big data stats. Since this command is not
supposed to come in connected case, for some of the stats,
driver returns incorrect values for some of the stats.
With this change reject the big data stats command for connected
station case as this command is for disconnected station.
Change-Id: I543b38f448eb3a8b2d97bd09c888957450116124
CRs-Fixed: 3043000
Rename WMI_HOST_REGDMN_MODE_11AC_VHT20_2G to
HOST_REGDMN_MODE_11AC_VHT20_2G to avoid duplicate
definitions and to be in line with the common repo.
Change-Id: I7ecd409641cd998b01165863758f56459282fa7b
CRs-Fixed: 3044438
Don't delete monitor interface while STA interface is getting down,
instead de-register packet capture callbacks and register back
when STA interface is UP again.
Change-Id: I42ea39ec619c08d99fa5ba287be20249e2b2582f
CRs-Fixed: 3013758
Fill the QCA_NL80211_VENDOR_SUBCMD_DIAG_DATA event data and
send the event to userspace.
Add dispatch table for the connectivity events to lookup
attribute type, id and length.
Change-Id: I1fc8467409852a430874ac1d926b06ec8dafb736
CRs-Fixed: 3030085
Fill the management frame data and enqueue the filled record to the logging
queue.
Frame sequence number, peer rssi, tx_status, authentiation algo,
authentication frame transaction sequence number will be filled to the
log record.
Change-Id: I069b7816fdc52eeed964d6586c52b58d1a5d5cd4
CRs-Fixed: 3030075
When NAPI enabled for Non-SMP platform, the 32th pkt is
send to tcp stack by netif_receive_skb, the first 31 pkts
are still in backlog queue, out of order issue will happen
Change-Id: Ieef5250fef9fcabb86e0e65673529c7db89a96c1
CRs-Fixed: 2997452
When WLAN_FEATURE_11BE_MLO is enabled, 11be AP without mlo IE fails
to start because of number of links being 0.
11be AP without mlo IE is a valid case. It should be supported.
Change-Id: I66fce67e7235cd75db4599f7f06d239f7e1d965a
CRs-Fixed: 3042868
If driver receives the command with parameter -1, the driver is enabling
all bands. Add check to see if the device supports 6G first, otherwise
don't change the band settings.
Change-Id: I2e0980015d8e8bad10fbdcd6f397ac1ca383a5bb
CRs-fixed: 3038801
In case of STA+STA roaming, to enable roaming on primary vdev
check is added to handle SCC concurrency case.
Change-Id: Id43856b344ce016a17e5bf921c629f3dcc2be138
CRs-Fixed: 3041409
If hostapd stop bss happen together with SSR, it is possible
eSAP_STOP_BSS_EVENT not post and hdd_medium_assess_deinit()
miss to invoke.
Fix it by invoke hdd_medium_assess_deinit() in failure path.
Change-Id: I79814be745fab366e1073438a295414f7de3f69a
CRs-Fixed: 3037020
The 6GHz security check is enabled by default. Disable the check
if RF test mode is enabled.
Change-Id: Id6af514f6a31f6351b1b0d784c2b9f7d301496c0
CRs-Fixed: 3040621
When wifi is turned off, if the connectivity logging queue is
not empty, the wlan logging thread tries to dequeue the record
and send the logging event to the userspace. While performing
dequeue operation, the records from queue are copied to temporary
buffer before read pointer is incremented. There could be a
condition where this buffer is allocated in ini domain after stop
modules is done and freed in active domain if the wlan_logging
thread is preempted during stop modules.
So to avoid this domain mismatch, start the queue only if
start_modules is done and stop the queue after stop modules
to avoid dequeue being done during/after stop modules.
Change-Id: Ied8c36b19bc66474d3c4d8f913f3e3dbf9a574a0
CRs-Fixed: 3035644
Android S VTS test case GetLinkLayerStats_1_5 need get interface time
slice duty cycle info. VTS will get it over vendor command
QCA_NL80211_VENDOR_SUBCMD_LL_STATS_GET.
So, we need put time slice duty cycle percentage in structure
wifi_interface_info.
Change-Id: Iff644b4b1ed6dd34badc2008d2957c98e0207aa6
CRs-Fixed: 3040005
When band is changed from dual-band to single band
(2G only):
1. host need to remove IDLE & BTC trigger bits from
WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID
2. Send WMI_ROAM_IDLE_CONFIG_CMDID with enable=0
When band is changed from single band (2G only) to
dual-band:
1. host need to add IDLE & BTC trigger bits from
WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID
2. Send WMI_ROAM_IDLE_CONFIG_CMDID with enable=1
and with default configurations.
To configure the above value in FW, send an RSO
update to FW whenever host receives set band command
from the upper layer.
Change-Id: I5a78deee713ff8514640d1867098e4045b77a231
CRs-Fixed: 3033081
Currently, reject_ap_info is used at many places and memset is
not done before filling it. memset the buffer to avoid reading
garbage values.
Also, modify the current initialization of ap_info in
cm_add_bssid_to_reject_list to memset.
Change-Id: Ic0fabc1733c4ea63dccb2e45b2a2dc37791e594d
CRs-Fixed: 3040299
CFR only works when DUT as STA and connected to AP. But, host doesn't
stop CFR if CFR started and disconnect to AP. So add this change to
stop CFR once get disconnection event.
Change-Id: I5a616dbe4c35311fb260514a8d33ed9a1361c514
CRs-Fixed: 3026715
Add new files for connect/roam logging. Add changes to
initialize the logging buffer.
Make changes to support enqueue/dequeue log.
Define enums for MAIN_TAG, Sub TAG, category.
Add structure definitions for logging buffer.
Change-Id: I1d283fcf464da90d4f5533214d480ddda156ec27
CRs-Fixed: 3013486
Currently wifi creates kobject for dump in progress feature without
any feature flag, since this kobject is for dump is progress
feature and there is already feature flag available for this
feature so move this code under feature flag.
Change-Id: Ib1155194dbec434c3ecd9949514c6c9931e3e661
CRs-Fixed: 3036752
INI g_enable_go_force_scc states the force MCC to SCC mode.
Mode 1-strict: Implement force scc strictly as part of start bss
Mode 2-liberal: Turn on p2p go on provided channel and move
first p2p go to the new p2p go channel after set key.
Currently for p2p-GO forceSCC, support is present where no matter
what is the GO negotiated channel in start_bss, driver will force
the other GO/STA/GC channel (on the same band) to the current GO
channel. This is force SCC strict mode where value 1 is used for
g_enable_go_force_scc ini. In this mode GC will have to do full
scan as the GO channel may be different from actual negotiated
channel. DUT may see some issues if GC dosent do full scan in
this mode.
As part of this change, add support for value 2(Liberal mode)
in g_enable_go_force_scc ini. As part of this liberal mode,
driver will allow the GO to start in MCC mode and after set key,
it will check any other concurrent GO and will do forceSCC for
that GO to the newly formed GO channel.
Change-Id: Ifc7beb06335616c51dc064f48a78b825dbdbda25
CRs-Fixed: 2992098
If SAE/H2E required by hostapd configure, it must populate in
supported rate or extended support rate set, add host driver support
to check this flag and populate it in extended support rate set.
Change-Id: Id75b5743e93a1a0f1d13150d5436d256e2ca117c
CRs-Fixed: 3016492
Currently driver don't have any feature flag for connection
roaming ini config and it directly tries to read the connection
roaming ini file, on some of the platforms if this ini file is
not present it returns failure message but some of the platforms
results in timeout which results in unexpected behavior.
To address above issue add a feature flag to read connection
roaming ini config.
Change-Id: Ica4159533e46ca5cc2048bf50eab2290bf5ae7d5
CRs-Fixed: 3035148
Peer state of mlo sta info is not changed to OL_TXRX_PEER_STATE_AUTH
while Peer state of link sta info is changed to OL_TXRX_PEER_STATE_AUTH
Peer state of mlo sta info should be changed together with link sta info.
When change the state of a SoftAP station, do it for mlo sta info.
Change-Id: I6c157d1381543637d9ce82c9a45864eed6de4396
CRs-Fixed: 3032861
Currently, mode of p2p virtual interface with type managed
is added as sta mode. This may cause issue during p2p find
as in function p2p_vdev_check_valid probe response frames
are dropped for sta mode.
Fix is to convert mode to P2P DEVICE mode from STA mode in
case added interface string contains p2p substring.
Change-Id: I9bf9d8c44af940b42c38cd7819bcdb9c00a90a26
CRs-Fixed: 3036500
For CPU, the enter & exit latency of the deepest LPM mode(CXPC) is
about ~10ms. So long as required QoS latency is longer than 10ms,
CPU can enter CXPC mode. Add 10 ms threshold for allowing and
preventing dynamic RTPM from PM QOS callback.
Change-Id: I8e3026e0e1bab548ab727a52569de9cb17fb5918
CRs-Fixed: 3032657
The current logic to wait for the regulatory update is set in
hdd_wlan_start_modules. However, this function is called in both normal
startup and in idle restart. The regulatory event only comes to the
driver on idle restart. Set the flag in the idle restart path only.
Change-Id: I52ac1f2d84650fd3757133c9bc28e87ee2b903cb
CRs-fixed: 3030575
Network package timestamping is optional for TSF feature,
to make it configurable, add a new build flag
WLAN_FEATURE_TSF_PLUS_SOCK_TS.
This flag will be set only when CONFIG_WLAN_SYNC_TSF_PLUS
is enabled and CONFIG_WLAN_SYNC_TSF_PLUS_DISABLE_SOCK_TS
is not.
Change-Id: I413e85fadf93264cd41c2739b6d870aa08d60efb
CRs-Fixed: 3027378
TWT params are optional attributes for TWT suspend operation.
Do not mandate the check for TWT params for TWT suspend command.
Parse the TWT params if attribute is present in the suspend
command else use the default value.
Change-Id: I62fa5e0e8a9c0346957184b9578bdd273017df21
CRs-Fixed: 3027776
In the SAP + p2g go SSR case, wpa_supplicant
will receive INTERFACE_UNAVAILABLE while driver
is doing SSR, then it will triger wpa_supplicant
to remove the p2p go from the interface and
change the mode from NL80211_IFTYPE_P2P_GO to
NL80211_IFTYPE_STATION. But it has the possibility
that switch mode failure due to qdf_is_recovering
is true from __dsc_vdev_can_trans, then
wpa_supplicant will get error code -EINVAL from
wlan_hdd_cfg80211_change_iface.
But current wpa_supplicant just only support
mode switch retry in the EBUSY case, so change the
return value from EINVAL to EBUSY if driver is
in recovery state to let wpa_supplicant has the
chance to do mode switch retry in the SSR case.
Change-Id: Id0f959a1e8386061d0258f520dba17e9efae1d08
CRs-Fixed: 2929212