For FILS pmksa cache, the pmksa add/del/query is based on SSID
and cache id.
1. Add SSID/Cache ID to pmksa cache using pmksa API.
2. Set PMK to csr session if PMK is present, PMK will be sent
to FW in RSO command.
Change-Id: I88a3e70a50565300ebab9723b439ee7674788b55
CRs-Fixed: 2621846
Clear sae_single_pmk info while processing del/flush pmk command
from supplicant, if required.
Change-Id: Idd974822ef0426461cd9971e54d8244d64b246b5
CRs-Fixed: 2616036
Requirement is to allow station to just keep the
first PMK1 and PMKID1 which gets derived while first
connection and re-use it for roaming to other AP
which has some specific VSIE.
To support this feature, STA should Set new flag in 11i
params during RSO start/update when initial connection is
completed based on the VSIE in AP beacon/probe response
frame. This flag will allow fw to roam to AP(s) which has
VSIE with single PMK.
Update PMK info in RSO update command with sae_single_pmk
info if roaming is completed with AP(s) contains VSIE.
Change-Id: I6ef7a5581a380b0db323199fbda9407a5e792f4e
CRs-Fixed: 2616031
Requirement is to allow station to just keeps only one
PMK1 and PMKID1 which gets derived while first connection
and re-use it for roaming to other AP which has some
specific VSIE.
To support this feature, STA should Set new flag in 11i
params during RSO start/update when initial connection is
completed based on the VSIE in AP beacon/probe response
frame. This flag will allow fw to roam to AP(s) which has
VSIE with single PMK.
Update PMK info in RSO start command with
sae_single_pmk info if initial connection is completed
with AP contains VSIE.
Change-Id: I839b48da48f92f24444e69405d87560186d7f986
CRs-Fixed: 2616029
Requirement is to allow station to just keeps only one
PMK1 and PMKID1 which gets derived while first connection
and re-use it for roaming to other AP which has some
specific VSIE.
To support this feature, STA should:
1. Set new flag in 11i params during RSO start/update when
initial connection is completed based on the VSIE in AP
beacon/probe response frame. This flag will allow fw to roam
to AP(s) which has VSIE with single PMK.
2. STA should dynamically enable this feature if below
vendor specific IE on AP’s Beacon or Probe Response at
the first connection:
Category Data
Type 0xDD
Length 0x05
OUI 0x00 40 96
Type 0x03
Data Don’t care
(EX, 0x05)
Maintain a separate pmk information structure to support sae
roaming using single pmk.
Change-Id: I0aac7659cecd4d8aaff86c9715e512cf46f22615
CRs-Fixed: 2616035
Currently the driver doesn't add MBO IE to probe if in the
scan request, req->ie_len is non-zero and req->ie doesn't have
the MBO IE.
Also when connection is triggered from AP2 from AP1 both advertising
different SSID, then there will be a vdev delete followed by
vdev create, and scan request is not received from userspace, then
the unicast probe sent from the driver doesn't have the MBO IE.
Add MBO IE if its not present in the scan request ie.
In roam profile if pAddIEScan is NULL, get IEs from default scan IE.
Change-Id: I574f5cae2158a2d4f0adad6d15b8aba2df1de0a2
CRs-Fixed: 2622871
Remove the local variable selfStaDot11Mode from function
lim_process_sta_mlm_add_bss_rsp_ft as it is not used anymore.
Change-Id: I642ed6ef9f61aa5d30882cc5cbd5d356b56a1573
CRs-Fixed: 2626419
AP isolation a.k.a intra-bss forwarding is a per AP attribute. Issue in
current IPA implementation is that it does not support per AP control.
In a SAP-SAP configuration, latter SAP configuration will always overwrite
first SAP's isolation configuration.
Fix is to add vdev id parameter from protocol layer so that IPA component
could configure AP isolation on a per AP basis.
Change-Id: I9c96cdcda03eb10b4c2984a757e52d77b5bf6790
CRs-Fixed: 2624757
In PE layer, STA session's mlme state check is added to avoid race
between NB disconnect and SB disconnect from emergency roaming disconnect.
In pe_disconnect_cb, if session's mlme state is already disconnecting no
need to send tear down link with AP.
Change-Id: I096b44167d65aa307e6685f07d42656d4e38a042
CRs-Fixed: 2627760
In channel switch response start bss success event is used to
indicate the success in which the initial bss settings are done
that is leading to set the incorrect keys after the channel switch.
Use the channel change event to indicate channel switch success.
Change-Id: I0915ee78a97e5f27ce83c31cc673cb8820ae535b
CRs-Fixed: 2620809
In this change Ia6fe504e2a2d01f12c3d3446fffc2fc397566966 qdf event
is replaced with linux completion timeout API.
But linux completion API accepts timeout argument in jiffies,
resulting timeout to set high value of 130 seconds greater
than DSC module timeout 60 seconds. In some cases vdev destroy timer
is taking more time than DSC timeout resulting DSC module to
assert host crash.
Fix is to convert timeout value from mill seconds to jiffies in
completion handler and set proper value of 13 seconds.
Change-Id: I9cfdcec02895747a883c00f6e2889d4f5ec3d7f2
Optimize logs after connect complete i.e roam offload params
and tdls state etc.
Change-Id: I5df7eb236ef1c7369f4d996c4f0eda7225652f12
CRs-Fixed: 2627694
Currently for big data logging in case of sap, query for
rssi, txrate and rxrate happens when station issues disconnect
to SAP but these stats are not queried when SAP
issues disconnect to the connected station.
To address above issue, add a logic to issue stats request
to FW when SAP disconnects the connected station.
Change-Id: I40db82d7b57fd0894ffbe95f52d27b4931227690
CRs-Fixed: 2626857
Disconnect cmd received from supplicant, at the same time
roam start event received from FW.This results in
conetxt switch in scheduler thread and leads to disconnection in
progress variable could not set. Roam sync events
SIR_ROAMING_DEREGISTER_STA and SIR_ROAM_SYNCH_PROPAGATION are
received one after another. Here again supplicant thread context
resumes resulting in csr roam profile cleanup.Later on when
scheuler thread resumes back it result in instability while trying
to access roam profile object.
Fix is to add check for current roam state using mlme component.
check for current state is ROAM_RSO_STOPPED during both
SIR_ROAMING_DEREGISTER_STA and SIR_ROAM_SYNCH_PROPAGATION events.
Change-Id: Id0ea18a33dfef3d4e9a4003da33fc7172cf58e85
CRs-Fixed: 2626474
Userspace expects the assoc request IEs of a disconnected station
to derive 11kv capabilities. Send the same in STA_INFO as part
of remote station info.
Change-Id: Iab5f39de833cd06e814e83f0149a0d21caf59b9f
CRs-Fixed: 2624922
Currently beacon IEs of the connected AP are cached in host driver
and flushed when it disconnects. Userspace needs this info after
disconnection to know the capabilities of the last connected AP.
So don't flush the IEs just after disconnection and provide the
same to userspace in GET_STA_INFO when queried. IEs are flushed
in the next connection.
Change-Id: I29c308b01b7519fffa174e26d644e0817e51b6fc
CRs-Fixed: 2624882
Currently, driver send a generic reason code
eSIR_MAC_DISASSOC_DUE_TO_INACTIVITY_REASON to userspace when a
STA kickout happens. Send eSIR_MAC_SA_QUERY_TIMEOUT when STA
kickout happens due to SA query timeout.
Send eSIR_MAC_PEER_XRETRY_FAIL when STA kickout happens due to
XRETRY failure.
Still host sends deauth frame with reason code
eSIR_MAC_DISASSOC_DUE_TO_INACTIVITY_REASON.
Change-Id: I72fa7406ef1b131ef3519bb6bef21cc52bc548cb
CRs-Fixed: 2624948
Driver caches last disconnected reason code in adapter. Convert it
to enum qca_disconnect_reason_codes and send it in STA_INFO to
userspace.
Change-Id: Ifd8566f4fb7d412d9a6ded0ae06f51b0c1dd6d2b
CRs-Fixed: 2624792
The notifier for pm qos is added when the runtime pm dynamic
is defined, when removing the notifier, we should also check
if the runtime pm dynamic is defined or not. We should not
remove this notifier if it is not defined.
Change-Id: Ic628c6fc38da00b2491355786ff40020d0249bb2
CRs-Fixed: 2622946
Issue happens as below scenaio:
1 suspend happens, but dp_rx_thread didn't finish in time,
so timeout happens for suspend_event, here suspend will
return success to kernel.
2 resume happens before dp_rx_thread to reset resume_event,
and resume finished.
3 if dp_rx_thread finished and blocking with resume_event,
and in following test, suspend didn't come(longer then
hang detect time).
4 hang detect will alarm.
Fix is to return failure if dp_rx_thread can't be suspend
in time. Suspend can triger again later.
Change-Id: Ifbfdef5bb1c8d6e00b8fa5cc5e6dc74d3495c9ea
CRs-Fixed: 2626468
The host driver updates the group management cipher suite to the
firmware as part of RSO commands over the WMI_AP_PROFILE
command.
Update the group management cipher suite from the crypto
component to the roam_request and copy it to the WMI_AP_PROFILE
command params in wma
Change-Id: I78d9cfbddfb74b16639ff03005935c4112a7e5af
CRs-Fixed: 2622864
PM QoS notifier is not getting deregistered during module stop and is
racing with module start as a result. Move hdd_register_notifiers()
and hdd_unregister_notifiers() calls to hdd_wlan_start_module() and
hdd_wlan_stop_module() to do proper registration and de-registration.
Change-Id: I4d47393d600c2c162b54e16ecdf06b286f1b93bc
CRs-Fixed: 2626126
FTM time sync feature is triggered when connection takes place
in case of STA and bss starts in case of SAP. The feature is
stopped when STA disconnects and bss stops.
Change-Id: I963b0134b7432c9827c2fb3d9dce7c81a8666d4d
CRs-Fixed: 2621144
Currently, Linux Kernel 4.9 doesn't support WDI3/WDI2 over GSI,
so it missed the definition of is_txr_rn_db_pcie_addr &
is_evt_rn_db_pcie_addr, and we should not call the relevant API
for Linux Kernel 4.9 + ROME target. So refine the function
ol_txrx_ipa_wdi_tx_smmu_params to fix compile issue.
Change-Id: I050d7f8613f9a5ae05d6a269dece53db624d18e2
Because FW don't support idle pdev suspend, and when all interface down
host will not send wow enable command because wakeup is not expected.
So the idle shutdown precedure is already there to prevent system go to
idle pdev suspend state, but it only exist for station mode now, apply
it to hostapd mode as well.
Change-Id: I1b11b5bd038ea9ad23835f142e443ea11e90f55b
CRs-Fixed: 2624453
Firmware advertises WMI_SERVICE_ROAM_SCAN_CHANNEL_LIST_TO_HOST_SUPPORT
at the time of initialization. When user requests for roam scan channels
to driver using GETROAMSCANCHANNELS command, driver queries firmware for
roam scan channel list by sending wmi command with command id
WMI_ROAM_GET_SCAN_CHANNEL_LIST_CMDID and vdev id.
Firmware response to WMI_ROAM_GET_SCAN_CHANNEL_LIST_CMDID commmad is
WMI_ROAM_SCAN_CHANNEL_LIST_EVENTID. This event has roam scan channel
list, vdev id, connected BSSID, command_response.
Firmware issues WMI_ROAM_SCAN_CHANNEL_LIST_EVENTID event for two reasons,
one for GETROAMSCANCHANNELS command where firmware sets command_response=1
in wmi event and asynchronous event upon disconnection where firmware sets
command_response=0 in wmi event.
Change-Id: I690aca6c3f1e3aa7ae1fe54aadc839ea19446079
CRs-Fixed: 2621535
Add ini config required for FTM time sync feature.
"enable_time_sync_ftm"- ini to enable/disable the feature.
"time_sync_ftm_mode" - ini to configure the burst/aggregated mode.
In burst mode the offset derived for each RTT frame is sent by
firmware, in aggregated mode only one offset is sent by firmware.
"time_sync_ftm_role" - ini to configure slave(STA)/master(SAP) role.
Change-Id: I6a06d6fdc4c7556c32ab2d28f1cbaa936b98a85b
CRs-Fixed: 2618654