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
Currently driver does not check the mode of the current interface
whether it is STA of CLI and it caches the connection info, in this
process it allocates the memory to cache he operation, this memory
get freed only for station type adapter because of which there is
a possibility of memleak for CLI interface.
To avoid above issue, add a change to only cache the information
STA interface.
Change-Id: Ic68d71dfd9887600fe1a287de66d735c2c802491
CRs-Fixed: 3028583
Since walt is msm-only scheduler group of features,
not upstreamed. Include walt.h header when CONFIG_SCHED_WALT
has been enabled.
CRs-Fixed: 3023911
Change-Id: I7f334952fd624606b9ddf1b53237cea52628abbb
When the connect request is pending on MLME and NB disconnect comes,
driver will wait for previous connect finish to process the disconnect
request. This delay the disconnect and may cause framework ANR.
Add code to fire the timeout event of active timers in various MLME
state. This will abort the connect request and get disconnect done fast.
Change-Id: I19cc03108c966c8f1efc0a554dfc59123dfe37f1
CRs-Fixed: 3026311
target_if expects psoc as part of roam events which is used for
event extraction. Send the same as it's missing currently.
Change-Id: I04729df90d8e64e07427fe47926a8a92a24aaf23
CRs-Fixed: 3027055
For MLO, add support to hdd install key api's
on wdevs without netdev. Add changes under config
flag "CFG80211_KEY_INSTALL_SUPPORT_ON_WDEV".
Change-Id: I67de2ba36dd86f0814c820756d5f49b765defda6
CRs-Fixed: 3017312
Remove STA specific enums from eConnectionState. Also remove
its prints from STA dependent code.
Change-Id: I1a06d16a060bec90147dcf94925582877352d1a8
CRs-Fixed: 3028099
In ucfg_twt_get_all_peer_session_params peer reference is
acquired and its not released leading to the reference leak,
leading to vdev destroy timeout.
Release the peer reference to resolve the issue.
Change-Id: I9992376473c30365f15fcdb8e374c856bc169d6b
CRs-Fixed: 3027189
In some stress test, like doing random on/off sap and random SSR, sometimes we
can hit below test situation:
1. trigger SSR first by calling hdd_crash_inject, then immediately off SAP, the
two actions almost happen at the same time.
2. the action of off SAP calls __wlan_hdd_del_virtual_intf to delete SAP interface
and is waiting for qdf_stop_bss_event completion event.
3. at the moment, sys error interrupt happened, CNSS layer would send PLD_FW_DOWN
event to host driver first. Due to PLD_FW_DOWN event call qdf_complete_wait_events()
to forcedly reset all completion wait event, this action may cause
__wlan_hdd_del_virtual_intf to do vdev destroy before vdev resp mlme state machine
is processed. Once vdev destroy is executed, it will set vdev obj_state to
WLAN_OBJ_STATE_LOGICALLY_DELETED, then vdev resp will not have chances to be flushed,
and then cause peer reference count leakage.
Fix solution: use qdf_wait_single_event instead of qdf_wait_for_event_completion to
avoid stop_bss_event forcedly reset before stop_bss_event is done or timeout.
Change-Id: I45b662fd17ec56bb8fc4453627bdcb41dedf79e0
CRs-Fixed: 2987511
This reverts commit "Change-Id: I847468f0c1839974ea1c6cd31260fb7ef4fbb897"
Revert this change as kernel is not reading cac duration from
wiphy channels, kernel reads the cac duration from reg rules.
Change-Id: I794bb3ddd67f551daf9b4c3b9320909224ac4d76
CRs-Fixed: 3020354
As part of the new GKI model, multiple driver are loaded parallelly
resulting in a error message from the kernel regarding the multiple
registrations of the /dev/wlan.
Register the /dev/wlan file to the kernel once the device is
identified and driver registration is success.
Change-Id: Iaca40abb62be5f59f129604a9a6d74ada6a4ad3a
CRs-Fixed: 3027521
Currently max vdevs are defined as 6 in osif. Increase it to 9
in case of 11be.
Change-Id: If64306cfc55690d7523ee910074064051a1b1d78
CRs-Fixed: 3027377
Update unit test command for policy mgr pcl validation to
support new SBS PCL type.
Change-Id: Ib02ce6c69400d0f47307523d690e1d81a8c0ef83
CRs-Fixed: 2998526
Currently the PS config received from kernel/userspace is set
to mac_ctx globally. This causes PS config set for one vdev to
override on the other vdev.
To avoid this, set the PS config per vdev.
Change-Id: I6a2e2a9d8fb67b94d9d5f1d4164077990bdaf4a5
CRs-Fixed: 3007060
To support DBS-SBS hw mode, populate SBS/SCC/MCC/DBS channel
list for new PCL types.
Change-Id: I5b6bae3daeae0be879d60dc5183574fe63f6a0c9
CRs-Fixed: 2998497
The PER default low rate thresholds configured is 20Mbps. This
will cause PER roam scan always after the 25 secs PER monitor
window since the 11b rates are lower than 20Mbps.
So disable PER roam when the connection/roaming to peer is with
cckm/OFDM rates to avoid frequent roam scans.
Change-Id: Iaae469804547c0f0682b66de3609b5cda4b4b577
CRs-Fixed: 2984973