During refill thread cleanup shutdown event is posted and
we wait for thread to handle the shutdown event and exit.
But while posting shutdown event if refill thread is in running
state then there is chance of shutdown event not getting handled
and thread cleanup will be waiting indefinitely for thread to
exit.
Change-Id: I45bdad8d6a85b110ed7c7e206d3c79c5c03e9d98
CRs-Fixed: 3599295
Currently for STA case host driver set only connected bandwidth
in peer_flags.
If STA is connected in 320 MHz bandwidth, suppose AP send CSA,
STA downgraded to 160 MHz bandwidth but host sent only 320 MHz
flag set in peer_flags, this leads FW to unexpected behavior.
So, set all supported ch_width in peer_flags, if STA is connected in
320 MHz ch_width, set 160 MHz, 80P80 MHz and 40 MHz ch_width bits
also to solve this type of scenario.
Change-Id: I43328ac85c25913ad808abf6ab906827a9672b51
CRs-Fixed: 3557108
Since peer link status bases on vdev and stream goes through
vdev0 (assoc link) at start, rx/tx pkt count on vdev0, but
it choices vdev1 as tdls link, the peer status does not change on
vdev1 though it has been changed for vdev0 per the rx/tx pkt count.
To resolve this issue, set peer link status properly when forward
discovery response frame.
CRs-Fixed: 3590371
Change-Id: Idfb0b8c43e3b8d5b67a387ba3b877def15130eb6
Currently, log is added when any frequency is populated
as usable channel frequency along with mode, band and other
params which could lead to multiple log addition if Band set
is ALL bands.
The change is to remove unwanted logging.
Change-Id: I02221df6a43aa0de8d79cb973adf124a5c52f89b
CRs-Fixed: 3579443
There are two APIs wlan_get_opmode_vdev_id and
wlan_get_opmode_from_vdev_id present in the host driver for the
same task.
With this change, remove the duplicate API wlan_get_opmode_vdev_id
from the host driver code.
Change-Id: I7ff45610ff18da9c002e22c5be06f1414d3835bc
CRs-Fixed: 3593560
Local var addr is passed as msg body to another thread,
and dereferenced in another call stack.
Change-Id: I402cff3e1fc4d3c46486cd9776680faa818600b4
CRs-Fixed: 3596800
when connect to IoT AP and BW is 160 MHz and max NSS is 2,
disable SU/MU beamformee.
Change-Id: Ib99072c36b72859cb1f8a4336f8aa7f696cb7d02
CRs-Fixed: 3583339
Currently the station stats cached timestamp is updated
in the adapter, even when vdev station stats are not
requested as part of unified_ll_stats_get_sta command.
When userspace requests vdev station stats, based on
timestamp value host either returns cached stats or sends
a new WMI request to firmware. In case of timestamp updated
when vdev station stats are not cached, it results in
sending inaccurate station stats to userspace.
To avoid this issue, update cached timestamp in the adapter
only when station stats are requested as part of
unified_ll_stats_get_sta command.
Change-Id: I8cdbd120afdf1f6334d7ac3fa150fc853f550a09
CRs-Fixed: 3598671
Enable the CONFIG_HIF_DEBUG for the HST module to get more info for
further debugging.
Change-Id: I911930b4fce50ad5a190e6c0da2248678199231d
CRs-Fixed: 3597078
scenario:
fisa_flow->head_skb freed in dp_fisa_rx_get_flow_flush_vdev_ref(),
but fisa_flow_vdev returned from dp_fisa_rx_get_flow_flush_vdev_ref()
is not NULL, dp_rx_fisa_flush_udp_flow() will still try to deliver
fisa_flow->head_skb to stack, use after free.
return NULL if dp_fisa_rx_get_flow_flush_vdev_ref() has freed
fisa_flow->head_skb.
Change-Id: I5a467db63377e6b5f36c4bb1dfa0e3f35b73a442
CRs-Fixed: 3596691
Currently, for mlo link layer stats, vdev object is used
to get link_id and channel frequency. Instead of vdev object,
hdd station context can also be used to obtain those values.
Hence, refactor the code.
Change-Id: I90110ed0250f1d71539b44813ecb5d94c731039d
CRs-Fixed: 3595398
Enable Flexible TWT when TWT feature is enable and either of
the TWT Requestor or Responder capability is enable.
Change-Id: I2f2b1c311d9aba6e09d309e83f37098175b80767
CRs-Fixed: 3422493
currenyly, hdd_medium_assess_stop_timer is invoked during stop_ap
and congestion report disabled. but init is done during congestion
report enable and based on timer flag. So, Assert will be caused
if timer is destroyed due to congestion report disable then stop
AP comes.
Fix is to add timer enable check and based on it call the stop
timer API.
Change-Id: I192b94a08cd07b2be14b2c75b44b3c6a7634b91a
CRs-Fixed: 3589172
Introduce diag logging for STA info event and MLO events
via eventid EVENT_WLAN_CONN_STA_INFO, EVENT_WLAN_MLO_SETUP,
EVENT_WLAN_MLO_RECONFIG, EVENT_WLAN_MLO_T2LM_STATUS,
EVENT_WLAN_MLD_T2LM_REQ_RESP, EVENT_WLAN_MLO_T2LM_TEARDOWN
and EVENT_WLAN_MLO_LINK_STATUS
For MLO specific events band, link_id, status, tid_ul,
tid_dl, token, tx_status, reason active_links and
previous active links are sent.
For STA INFO event is_mlo flag, mld_macaddr, 2.4GHz_mac,
5GHz_mac and 6GHz_mac.
Change-Id: I1aa6195a481319f85cad26893789439c5c8291ea
CRs-Fixed: 3568508
Reject MLO station stats and Link Layer stats request from
userspace when link switch is in progress.
Change-Id: I755dcf3da69f5378cba0602ed085981af35fe38b
CRs-Fixed: 3594723
In sir_convert_beacon_frame2_mlo_struct, not validating the return
status of util_get_bvmlie_persta_partner_info, even though validating
the IE data in this API but for the bad IE also storing the data.
This will cause OOB access while storing the data if the IE is malformed.
Fix to check the return value in util_get_bvmlie_persta_partner_info,
if the return value is error don't access and store the data.
Change-Id: I5605aeaafcaf9fc2de3e74d06ae64ac9f05837fe
CRs-Fixed: 3581068
Based on the new requirements, add logic to remove mac0 channels
from PCL for static sbs case for ll_lt_sap mode.
Change-Id: Ib50978b2959bafac27a1f0b432a08b6d3c08c2de
CRs-Fixed: 3582899
Currently, while processing ml vdev chain rssi stats, vdev_id
is not updated properly resulting in populating invalid chain
rssi values.
So, to resolve this issue, update correct vdev_id based on vdev
stats request_info structure for both MLO and Legacy connections.
Change-Id: I37d4001c2dee46396019ca662f89066f73ad4895
CRs-Fixed: 3595057
In MLO cases, system enters into runtime suspend in
between the disconnect processing of two links. This
leads to delay/timeouts in MLO disconnect processing.
To fix this, acquire runtime lock between disconnect
start and disconnect complete if_manager events.
Keep the runtime lock at vdev level to handle async
disconnects triggered by the driver and link-only
disconnects during roaming.
CRs-Fixed: 3588246
Change-Id: Ida48127d8597aecd8b6f5347c70ba5e9a2045d11
Enforce the chip to complete steps of unloading driver
instead of ASSERTION in the case of powered off.
Enforce the chip to complete pld_pcie_remove to
avoid memory leak.
Change-Id: Iaaadde91dd6329990d28659b283b1be8216a970f
CRs-Fixed: 3590444
Some frames like GAS_INITIAL_REQ are registered with SME_SESSION_ID_ANY,
With Change-Id: If6a3c65c73349f176531ba6d8cc9590374a00440, it is treated
as broadcast frames wrongly, several duplicated DPP config request frames
are sent to wpa supplicant, several config response are sent to OTA.
After received 1st config response, Peer Enrollee device moved to AP
channel to connect, so Initiator will get no ack for the rest of config
responses. DPP-CONF-FAILED will happen.
To fix it, for frames like GAS_INITIAL_REQ registered with
SME_SESSION_ID_ANY, and received without session, just sent to wlan0
once.
Change-Id: I2343186b7d2dcf734d677a91f2c7fb3101e13d6d
CRs-Fixed: 3590443
Fix output of tsf sysfs node by adding space
between peer mac address and timestamp.
Change-Id: Id871ad70888d0d49218d1eb294f985386867059d
CRs-Fixed: 3587641
For MLO TDLS function, when it sends discovery request, it sets
the corresponding link as force active mode. Since the driver
sets link_ctrl_f_overwrite_active_bitmap by default currently.
It overwites the active link which is set earlier.
To resolve this issue, add sanity check about reason
MLO_LINK_FORCE_REASON_TDLS to follow the legacy process.
Change-Id: I51eb6464ffd7754e009aa993eae859268d19671a
CRs-Fixed: 3591556