Send additional roam trigger TLV for BTC in
WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID
command, to support a new roaming trigger
"WMI_ROAM_TRIGGER_REASON_BTC".
Change-Id: Ib767bd6bcf005c187b0fb58986ad287fe8753c1b
CRs-Fixed: 3009788
To support BTC roaming, add a definition of BTC roam trigger
reason in ini roam_triggers. It goes to fw via roam_enable
trigger command (WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID)
Change-Id: I231a72ed98a74fb1b5ced12da7c3932af12d485d
CRs-Fixed: 3009787
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
When concurrent STA is present and DBS is capable:
If the concurrent channel is DFS channel, make sure
the maximum SAP BW is equal or less than BW of STA;
If it's NOT, and the maximum SAP BW to be set is 160MHz,
reduce it to 80MHz.
Change-Id: Id2460b9d316bf7b91175611687bada0da11d5a93
CRs-Fixed: 3032225
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
Add following flags to enable TSF feature for qca6490.
CONFIG_WLAN_SYNC_TSF_PLUS,
CONFIG_WLAN_SYNC_TSF_TIMER
Change-Id: I22c77a668194bdabb41efe6e44e81a7f7082325b
CRs-Fixed: 3010812
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
Currently wlan_hdd_mgmt_tx path is still using legacy API to convert
channel frequency to number, it is not applicable for 6Ghz channel if
convert it back from number to frequency.
Fix it by replace all places where using legacy API to convert channel
and use channel frequency from supplicant directly. It can fix mgmt tx
from supplicant on 6Ghz channel.
Change-Id: I60fe37d7d716eeaceaa00f3fb59c77b629ebacac
CRs-Fixed: 3024898
Output of log in hdd_enable_igmp_offload() should be igmp, not gtk.
Hence, change the log to print igmp instead.
Change-Id: I3a84b1d9e38abce1e57dd5823b833ee5bc173b57
CRs-Fixed: 3032679
When we request bus bandwidth by tx/rx pkt on armv7(32bit).
The timer statistical value of bw_vote_time is overflow,and
become small.So, next time, the diff_us calculate result is huge,
the total pkt is always zero.so the request always fail.
Change-Id: Ifaff8abd2b901f5f32f7a95b347365678cf2f3c4
CRs-Fixed: 2983899
ARP response dropped at OSIF due to non-availability
of sta entry with MLD address.
Added sta entry in OSIF/HDD context with MLD address.
Change-Id: Iff70197ca5707b88ea80b42a60a2b1fb383f00a9
CRs-Fixed: 3017249
The operation class field in RNR is using global operation class.
When getting frequency from RNR IE, we should search operation
class in global operation class table.
Change-Id: Ie9ff62e1d98cb10debfcff734e28ffaecf14e321
CRs-Fixed: 3031211
Currently channel is updated whenever AUTH frame is received
irrespective of its status. So in case of unsuccessful AUTH
wrong channel is updated in pkt capture mode.
To fix this issue, update the channel only if AUTH response
is successful. Also if after AUTH success, association or
reassociation fails update the channel with last connected
channel.
Change-Id: I51ee6bb2466f765ce6058c411b0dc0ab74a0dd04
CRs-Fixed: 2987748
During unload driver, if hdd_reg_notifier to be called
from kernel, it has the possibility that cause
regulatory_update_event to be reset after it has been
destroyed, which causes "Failed assertion 'event->cookie
== LINUX_EVENT_COOKIE'". So adds this fix to ignore the
regulatory notify request if it is in unloading state.
Meanwhile destroy the event after unregister wiphy
also can help on such kind of issue.
Change-Id: I527517c7f1443a4e211782f74b03e2fca40ab552
CRs-Fixed: 3028357
Add fixed 300ms extra ROC time instead of multiplying the
ROC duration by 6 as this causes the ROC to be upto 1.5 secs
if GO is present. Firmware will advertize NOA of 1.5 secs
and if supplicant cancels ROC after 200 or 300ms then
firmware cannot cancel NOA. So when supplicant sends next
ROC it will be delayed as firmware already is running previous
NOA which may cause p2p find issues if GO is present.
Fix this by capping the max ROC time to 600ms when GO is present.
Change-Id: I0774b06ff4db1fae7efc387388fdf3059505150e
CRs-Fixed: 3025870
CSA IE TX isn't offload to FW, the count of Beacon with CSA IE
actually DUT sent exceeds the required. So, this change clear CSA IE
and update Beacon frame.
Change-Id: Ib433b9d2877b332365a4cfdf1a6bca56d6194672
CRs-Fixed: 3008327
Ideally we should deinit in reverse order of init so we
should Unsubscribe in reverse order of subscription in
packet capture component.
Change-Id: Icb62a14c2d1fd20073f6924d03d523b7871c62d6
CRs-Fixed: 3019862
In order to support four STA default interfaces
to be created and up after driver loaded, it
requires setting bmiss_offload_max_vdev=4 to
Hastings fw. So export this variable to be
configurable and can be modified if in need.
Change-Id: I25db5dd72de7d45c6be682891abba711edaf20dd
CRs-Fixed: 3030148
For STA connection in HE 160, HE160 MCS is validated
during the session creation. If the HE160 is invalid,
the connection falls back to 80MHz. But, this check needs
to be bypassed for SAP, because during session creation SAP
will not have the peer capability, so the HE160 MCS validation
needs to be bypassed.
Change-Id: I3bbb2f35c40a123b5d05a94038970a0e7e43ac60
CRs-Fixed: 3025102
Currently host driver processes radio stats events with
scheduler thread without any lock and invokes hdd callback.
In hdd these stats gets handled in user space thread and after
processing stats, user space thread frees the memory allocated
in wma. Since one thread allocates the memory and other
thread frees the memory, this can lead to race conditions where
this memory might not get freed and mem leak can happen.
With this change add locking mechanism to allocate, use and to
free the memory.
Change-Id: I95906133bb2208a258c5cec16f4f01b1321ed0c2
CRs-Fixed: 3020218
Use macro PKTLOG_LEGACY instead of HELIUMPLUS to avoid Rome
PKTLOG setup failure. PKTLOG_LEGACY is used for HELIUM/ROME.
Change-Id: If3476660f19606b84341cce084db3d06d69de4c5
CRs-Fixed: 3028261
Currently, nss is not filled for tx data packets. Fill the
last received nss from ppdu stats in the tx status in pkt
capture mode.
Change-Id: I1833be5e19eaba4e88befe9970f079b91ec4bbe4
CRs-Fixed: 3004484
Ppdu stats related to transmitted msdu are received from
firmware and queued to a list. Remove the received ppdu stats
from front of list and fill in tx status of current msdu.
Change-Id: I764aa909497971010202ce3decb3380a732ce12c
CRs-Fixed: 3004483
WDI_PKT_CAPTURE_PPDU_STATS event is sent when packet capture
related htt ppdu stats tlv is received from firmware.
Register for WDI_PKT_CAPTURE_PPDU_STATS wdi event and add
logic to insert received ppdu stats to a list.
Change-Id: Ie78cf4b161c90a0bcf514a3e71a82c3c3e358c24
CRs-Fixed: 3004480
Register for WDI_EVENT_PKT_CAPTURE_RX_DATA_NO_PEER in packet
capture mode and add logic to parse it. This wdi event
delivers rx data packets to packet capture component which are
received before peer is mapped in host, mostly in roaming scenario.
Change-Id: Ia718293c97dd11de6aab5a739683eec38e7e057b
CRs-Fixed: 3000153