Add support to get the following TWT target capabilities
1) Nudge 2) all twt and 3) statistics
Change-Id: If74e99b0ff920481bcabb0300129b9067082d113
CRs-Fixed: 2854927
When unit test WoW is executed, system suspend case is currently being
executed. Add a new case for handling unit test WoW suspend mode.
Change-Id: I9defa7175a638363a1dd736018d17a42d8afe6b3
CRs-Fixed: 2855437
Reduce stack frame size of sme_rrm_process_beacon_report_req_ind()
by using pointer for tpRrmPEContext.
Change-Id: I25bea9e9dd913f57c137ea3eb33f099c0370f70b
CRs-Fixed: 2856570
Initially, Host updates the AKM only after the EAPOL
handshake. Due to this, Enterprise auth is not detected
for initial connection.
So, add new API which gets the AKM from vdev and convert
it to WMI enum and send it in peer assoc command to firmware
during initial connection. In Firmware, this will help to
detect Enterprise auth as part of connection and prioritize
the WLAN connection over BT traffic accordingly.
Change-Id: I503601ca29f3aadd1ee359a535b4e60133f66476
CRs-Fixed: 2844318
The below described scenario can lead to a deadlock
between wlan_hdd_del_virtual_intf and the work handler
to update netdev features.
- netdev features update work is scheduled and takes the
vdev ops DSC lock.
- before the work is able to take the rtnl lock, a delete
interface is called from kernel with rtnl lock held
- wlan_hdd_del_virtual_intf waits indefinitely for all the
ops to be completed on this vdev.
- Now netdev feature update work is waiting for rtnl lock
with vdev ops DSC held, and wlan_hdd_del_virtual_intf is
waiting for vdev ops DSC with rtnl lock held.
In order to fix the above deadlock scenario, set a delete in
progress flag in wlan_hdd_del_virtual_intf and use rtnl_trylock
in the netdev features update work, only if the delete in
progress flag is not set. Using rtnl_trylock with a few equally
time spaced attempts to acquire rtnl lock will make sure the
features update is done it the work is unable to acquire the
rtnl lock due to any other netdev operation (apart from interface
deletion).
Change-Id: Iad6448d4d9bf7f4cbfcfc4c6fb3afb248afaeeec
CRs-Fixed: 2854713
The sequence of roam states info print depends on
the sequence of Tlvs coming via WMI_ROAM_STATS_EVENTID
event.
FW does not send roam trigger, roam scan and btm rsp
info to HOST in case of new host and old FW combo.
This results in 11v info print miss in kmsg log.
Fix is to print tlvs info in a proper sequence.
Change-Id: Ic51ceebcbf3846231c2181b0a4a92d59faaaaaff
CRs-Fixed: 2841325
Add validation for STA CSA channel change notify event:
1. acquire the wdev->mtx lock before invoke kernel API -
cfg80211_ch_switch_notify. Kernel will access wdev->current_bss
in the API, it maybe changed in other thread.
2. if the bssid is not connected in vdev, don't invoke kernel API -
cfg80211_ch_switch_notify since wdev->current_bss maybe unlinked from
kernel bss list. cfg80211_ch_switch_notify make assumption
current_bss existing on the bss list.
Change-Id: I0dd415a5576d29e3a7729768c8482205677ca3e7
CRs-Fixed: 2855494
Add support to handle twt_notify event. Firmware can
terminate a TWT session without a Host trigger due to internal
reasons. In that case it sends an event to notify that it is
again ready for a TWT session setup.
Change-Id: I3508687cee93e16a26221a1bc7ad9c626a4f4523
CRs-Fixed: 2847158
When a new connection is about to come up, host checks if current
concurrency combination including the new connection is allowed or
not based on the HW capability.
Firmware manages NAN + NDI by dividing up slots. Connection on NDI
is re-negotiable and therefore a 3rd connection with the same MAC
is possible.
Change-Id: I63e39c5cd4945cd308e475c1e03f676336c4e7c1
CRs-Fixed: 2841457
Don't allow TWT commands back to back till response for
existing command is not received.
Reject the new command till the existing command completion
event is received from firmware. Allow TWT teardown when
any other command is in progress after TWT setup is complete.
Change-Id: I9282230c7cb24691b44ddfd273972272fd80f44b
CRs-Fixed: 2853515
Stop all the TSPEC flows after roaming to new AP due to
disconnect roam trigger as the previoes TSPEC session is not
valid. Firmware clears the TSPEC session on deauth roaming and
doesn't include the RIC IE in roams followed by deauth trigger.
But host entry for the TSPEC flows exist and doesn't allow new
TSPEC session setup commands.
Clear all the TSPEC flows with older AP to allow new TSPEC
session creation with roamed AP due to disconnect roam trigger.
Change-Id: I9d75acba402e6d8380584fd1ffd310c2a21cd19d
CRs-Fixed: 2816035
To improve build time performance remove date and time
embedding from wifi DLKM Kbuild config.
Change-Id: I465699005b0e5eee762f528a8d8f102c1987b18e
CRs-Fixed: 2855334
Currently driver does not validate BW before it invokes the kernel
api cfg80211_get_chandef_type. There is a WARN_ON in kernel
if above api is invoked with invalid BW.
To address above issue add a logic to validate the BW
before driver invokes the kernel api.
Change-Id: Ie237aa46813bfa4206a1057a0418d9562dbbae75
CRs-Fixed: 2846462
Currently there are no hdd apis to check different
vdev states.
Add hdd apis to check if vdev is connecting to some ap
or disconnecting or vdev is in disconnected state with
the help of connection manager api for the same purpose.
Change-Id: I3b653fa1090a0e701f235520fa4e1028bac6ad7d
CRs-Fixed: 2853413
Currently host driver does not validate the mac address which
it receives from FW and based on this mac address host derives
remaining mac addresses. If mac address from FW is multicast
or broadcast address then it will be treated as invalid mac
address and adapter creation will fail.
To address above issue, accept mac address provided by FW only
if it is a valid mac address else derive all the mac address
based on driver's internal logic.
Change-Id: I4c4b60cac082680df90016ec4ba63f744353771c
CRs-Fixed: 2853417