Add connect id in the policy manager for the newly designed
connection manager infrastructure.
Change-Id: Ib7bd08e5326ead04da88175636777bf5dd4e255b
CRs-FIxed: 2705700
Update the HDD callback to check for phymode change or
channel change when country code updates and stop/restart
the adapter accordingly. Include cases for STA mode,
SAP mode, P2P-CLI mode, and P2P-GO mode.
Add conditional compilation flag for MCC specific API in
qcacmn.
Change-Id: I88edb401146e3cef48d757393f89fa48cb6ac895
CRs-fixed: 2658294
Convert CSR phymode to regulatory phymode and back. Regulatory
phymode enum contains fewer fields than eCsrPhyMode enum so a
conversion API is needed.
Change-Id: I4b962c07a917d19fa4ae51c78befae507dabf80f
CRs-fixed: 2658294
The hostapd sends the EDCA configuration for tx queue set in the
hostapd.conf config file using nl80211 interface.
Add support to extract the configuratin in the cfg80211 callback
function wlan_hdd_set_txq_params and invoke SME api to send the
parameters to MAC layer.
CRs-Fixed: 2693865
Change-Id: I8acfc03d9a6ad17a1df0c03955cf3b4150a4fbef
Add support for OEM_DATA_RESPONSE_EXPECTED. Driver waits for the
response from FW when this attribute is set and forward the blob of
data to supplicant.
Change-Id: I3e51809e4f5736b521c26e37afb02396f9c5ed23
CRs-Fixed: 2694556
Currently, Rx retry count statistic is not supported by firmware.
So host driver also not updating the corresponding statistic in
peer stats. Datapth is updating this counter using retry bit in the
rx MPDU. Update peer Rx retry count value from data path.
Change-Id: I4fd422faa7a766090991c461cd6fd2cc70d2fcc3
CRs-Fixed: 2691704
Introduce an INI "oce_subnet_id_weightage" to indicate firmware
about oce subnet id weightage so that firmware can use subnet id
weightage to calculate candidate AP's score.
Change-Id: Iaf3be1947f8966a2e2c34162d251a31950058231
CRs-Fixed: 2674596
Supplicant disables fast roaming (by making isFastRoamEnabled = 0)
before sending ROAM_INVOKE_CMD to host. This results roaming state
of host changes to ROAM_RSO_STOPPED before start processing
ROAM_INVOKE_CMD command.
Due to commit : Id0ea18a33dfef3d4e9a4003da33fc7172cf58e85, Host
unable to process roam sync indication event if supplicant disable
fast roaming before sending ROAM INVOKE command. This leads to
roaming failure.
Fix is to allow driver to process roam sync indication even in
RSO stopped state, if roaming triggered by userspace.
Change-Id: Ia5f5c7b078d457280bce8c24110f01a3be26c3d6
CRs-Fixed: 2670060
If the STA-KICKOUT event comes too frequently for
a certain AP, then the AP might have some genuine
issue and should not be tried again and again in
intial connection and roaming case scenarios.
So it is better to avoid this AP and if the AP
still faces a kickout then after 3 attempts which
is ini configurable the driver would blacklist
it to avoid ping pong.
Change-Id: I8221cca9adc777ca275fdd76c2f8ba17cd12c14f
CRs-Fixed: 2683615
hdd_bus_bw_work_handler API is stuck waiting on mutex
sme_global_lock acquired by scheduler thread.
WIFI logger start request API doesn't need to acquire
sme global lock because the request is posted to scheudler
thread and the request is processed in schduler thread context.
Change-Id: I34522abdc54d1a7d6b5acb546179194b4ee869d8
CRs-Fixed: 2690483
Currently, host driver sends disconnect reason code as
WLAN_REASON_UNSPECIFIED(1) when the station disconnects due to
continuous beacon miss and corresponding vendor specific reason
code is also sent to userspace. This change is introduced with
the commit I99bf4573b59dc810e0a1529fcd48061d10acae4e to
provide vendor specific reason codes for all internal
disconnections.
Driver used to send reason code as 0 for beacon miss before
this change. Few applications might still expect the same
reason code(0) and current behavior causes backward compatibility
issues. So, retain the same reason code 0 for beacon miss failure.
Change-Id: I82f215ba15ff6e215cb14ac08933e1491371dfde
CRs-Fixed: 2689257
This commit enables support for SuiteB roaming for SHA384.
Based on the WPA3 SuiteB roam service capability advertisement
received from Firmware, we enable the support in Host.
Change-Id: Iab4e6bfc9c8ba7d604c2720c8cb848fce40dd6b4
CRs-Fixed: 2685975
If device is configured to Only dot11mode profile. Don't
connect to lesser profile the configured.
Change-Id: I7bf5157c0d7324c5ee7c4cdaac7806c0991d5dae
CRs-Fixed: 2683763
DUT perform FT-IM association instead of FT roaming to
process emergency deauth from connected AP.
In the case of FT-IM association, FW sends assoc requests
instead of re-assoc requests in roam sync indication to
host. Host truncate fixed parameters from assoc req and
forward frame tagged parameters to supplicants.
In re-assoc request fixed params length is 10bytes and
in assoc request, fixed param length is 4 bytes.
Currently host always truncating 10 bytes of assoc/re-assoc
frame present in roam sync ind and forward it to supplicant.
This results in extra first 6 bytes of assoc frame get stripped
by host. Due to this supplicant is not able to parse frame
content properly. This leads to 11r roaming failure.
As in case of FT-IM association roaming, FW forward assoc req
in roam sync ind, Host should truncate 4 bytes of fixed
parameters.
Fix is to ensure that host truncate only 4 bytes if assoc
request present in roam sync ind data.
Change-Id: Ie1352e41f9caffc4a28ed046330a73f303af36da
CRs-Fixed: 2664097
With specific AP(s), FW needs to perform FT initial mobility
association instead of FT roaming for deauth roam trigger.
This ini is used to configure "FT roaming for deauth roam trigger"
behavior from the HOST.
Change-Id: Id754a21f7ac2c330019055646f79c79db3e0c52c
CRs-Fixed: 2665882
Removed all the API realted to FEATURE_WLAN_RMC
as well as related SME/WMA code.
Change-Id: Id471ccabcfd183fbcc7ff4e4953991f9e1551526
CRs-Fixed: 2686364
Host configures rssi trigger, connected ap rssi delta and rssi
threshold in firmware. As rssi threshold is hit, firmware start
roam scan. Firmware decreases further RSSI threshold by connected
ap rssi delta if matching profile ap not found and so on.
Example: STA connects to an AP and host sets rssi trigger,
connected ap rssi delta=5 and rssi threshold as -25dbm. Firmware
starts roam scan as the rssi threshold is hit. In the roam scan
if desired profile ap is not found, decreases rssi threshold
by 5dbm i.e connected ap rssi delta. Now rssi threshold becomes
-30dbm and then firmware triggers roam scan and so on.
Thus the rssi threshold changes dynamically when controlled
roaming mode is set from userspace, to fix this do not force
RSSI triggers when controlled roaming from userspace is enable.
Change-Id: I1de3f71ca96de9f464d5d33b0271f99c55cff535
CRs-Fixed: 2681882
Currently when supplicant sends set_pmkid_cache (Either after initial
connection or after session timeout with AP) to host to set
the new pmkid derived after the EAP is done. Host deletes PMK entry
only if bssid/ssid matches.
For OKC, the PMK derived from the initially associated AP will be
used for deriving PMKID for all APs. In case of connection with OKC
supported APs, If STA receive session timeout from AP, HOST should
delete older PMK of all APs which have the same PMK. Else While
roaming HOST could send older PMK to OKC supported AP and this
results PMK flush in FW and leads to full EAP.
Change-Id: I95881db229d5193cbdc22c5f30e1375b3892fbd4
CRs-Fixed: 2679737
Remove instances of CFG_COUNTRY_CODE and country_code from
wlan_mlme_reg struct.
Remove redundant country code APIs.
This change is needed because the country code is no longer
stored in CFG file, and subsequently, there is no need for
CFG_COUNTRY_CODE.
Change-Id: Ia4b3b40d0dccfde696352967f2902dfba344a445
CRs-Fixed: 2634079
If DUT connected to a non-PMF AP in MBO/OCE enabled network, STA
should not initiate roaming due to BTM trigger.
Fix is to enable BTM offload to firmware only if a peer support
pmf in case of MBO/OCE connection.
Change-Id: Ifee077fed2630242e7dc93e6d1a3915e592d4285
CRs-Fixed: 2678005
In case AP doesn't support PMF, if STA has PMF enabled bit set
in assoc req, some AP may reject the association.
Fix is to consider self PMF cap only if AP support PMF
Change-Id: I6317c653cb7c21beb852d73b8eb541d6582a3a26
CRs-Fixed: 2677988
Currently mac context is validated in csr_get_peer_rssi_cb
but even in case of invalid mac context it is dereferenced.
Add a check to validate the mac context and gracefully
return in case of invalid address
Change-Id: I96181e7ecd7be1a18e644f9499137a42e6af6372
CRs-Fixed: 2673557
Host disables STA roaming if any active NDI connection is present using
"sta_disable_roam" ini.
If NDI connection comes first and then STA connects to AP, then host
enables STA roaming in the association completion of STA. If STA
disconnects, roam scan is triggered which adds glitch in NDI connection.
Hence enable STA roaming if there are no active NDI connections.
Change-Id: I9594d9acc2d5d2255bd8914f6d58f726e3695601
CRs-Fixed: 2670756
Reset the HE 160MHz bandwidth related capabilities if the
connection mode has lower bandwidth.
Set the 160MHz support in HE channel width capability if
AP is 160MHz capable and current operating mode is 80MHz.
Change-Id: Iddb678ac7543875a3a7d15bb38e13dd27086360b
CRs-Fixed: 2674741
RSN caps are anded with AP RSN caps, but it should be self caps.
Due to this even when PMF required is configured in self capability
while connecting to non pmf required AP, self cap doesnt include
self capability of pmf required.
So do not and RSN's self caps with AP's caps
Change-Id: Iae84486e13859fc8deb342d7b774129dc26ae323
CRs-Fixed: 2676337
In the case of roaming failure, FW sends HO fail indication to host
and initiates peer deletion in fw. Host should not queue deauth
frame to fw in case of HO_FAILURE.
Due to commit id I99bf4573b59dc810e0a1529fcd48061d10acae4e, host
sends a disconnect request to fw as part of HO failure handler.
There could be a possibility that host queue disconnection frame
after the vdev down in fw. This leads to assert in fw.
Fix is to set process_ho_fail variable in disassociation request
to true in case of ROAM_FAILURE. This flag tells LIM whether to
send the disassoc req OTA or not.
Change-Id: Ia504ff3ba8b07fcf66226b588eed379a71e2b896
CRs-Fixed: 2674297
When roam invoke from user space fails, internal disconnection
is triggered from csr. This queues disassociate command to lim
and then RSO command is also posted to lim. When disassociate
get processed, vdev down is sent, pe session is deleted and
roam offload flag at wma is cleared. When RSO stop is received
at wma, the roam offload flag is cleared and wma returns
failure without sending RSO command. So in STA+STA scenario,
after disconnection on 1st sta, roaming will be enabled on
2nd sta, but since RSO stop was not sent on 1st sta, firmware
will assert as btm offload is not disabled at the 1st STA.
Disable roaming first, followed by vdev stop/vdev down to
firmware.
Change-Id: I3f2f873cf50536b6f31bc0113ff737d6d95a520d
CRs-Fixed: 2672573
Address the incorrect Linux Foundation copyright
format in the copyright header.
Change-Id: I8921be98f1d837018ec2dfdf785fb314fd407207
CRs-Fixed: 2668480
If DUT connected to a non-PMF MBO/OCE enabled network, STA should
not initiate roaming due to BTM trigger.
If HOST disables BTM in firmware then firmware forwards frame to
host and host forward it to supplicant. Supplicant ignores the BTM
frame rather than send connect request to the driver.
Fix is to disable BTM offload if a peer doesn't support PMF.
Change-Id: I6455258c61bd3c2be7ec6c629b44d1aa08978740
CRs-Fixed: 2664896
The roam sequence in LFR-3.0 is roam scan start notification
from firmware followed by roam start indication and then
roam synch,roam synch frame events. Roam start is sent
after candidate selection and host driver will disable
queues when roam start is received.
But for emergency roam trigger, firmware sends roam start
indication directly without notifying roam scan start to disable
data path queues immediately after deauth received from the AP.
So roam start is received before roam scan is started at firmware
and before candidate selection is done.
After roam start notification, host sends scan abort for all scan
on vdev by setting scan command request type to
WMI_SCN_STOP_VAP_ALL. This results in roam scan getting aborted at
firmare in emergency deauth roaming case and roaming fails.
Define new vdev id value based on which the scan module will
abort only host triggered scans setting the request type to
WMI_SCN_STOP_HOST_VAP_ALL in the scan request.
Change-Id: Ie8b005285973461f654329e1b2dc1a45205331f5
CRs-Fixed: 2644323
On Genoa, when 2G SAP exist, when STA roam from 2G to 5G by LFR2,
hardware mode need switch from single MAC mode to dbs mode.
Since disconnect current AP happens before reassociate, in
hw mode response handler, found original AP disconnected
already on host side, then don't reassoc new AP, it's regression
of Change-Id: I794c6bf3f749bba9c339fd18b5202d50091b73a7.
Fix: In hw mode response handler, don't check connect state of
current AP when reassoc new AP.
If found disconnect pending during host roaming, don't reassoc.
Add debug log when error happens.
Change-Id: Id836ac84a4156e9db28f6892c8c9eb5210dfb6e0
CRs-Fixed: 2668869
Currently there is no ini to control the rrm support on
SAP.
Add a new ini to enable/disable rrm on SAP.
Change-Id: Idef8da807bc5f8e2b4a1d61997824006e78b0cf6
CRs-Fixed: 2658926
In function sme_qos_ft_handoff_required(), CSR_GET_SESSION() is
possible to return NULL pointer, so add check before de-reference it.
Change-Id: Iee4e1d03da550969b4da1b746e4325f59ab72146
CRs-Fixed: 2669223
sta_sap_scc_on_dfs_chan isn't used in the module.
Hence, Removed from mac_context and csr_config_param.
Change-Id: I10321c26d2244b3619b062a04f73f57105a81685
CRs-Fixed: 2666696
Wlan firmware updates "max tx pwr allowed" to host in vdev start response
event and roam sync indication event. Host uses this value to update
power constraint ie in assoc request and TPC query response.
Host updates "max tx pwr allowed" value to firmware after association
completion, so that firmware uses the same max power to transmit mgmt and
data frames.
Change-Id: Ifd8d47fd830bd02bdde2633c22ea82820adf73a0
CRs-Fixed: 2652690
Replacing all occurences of mac_context->lteCoexAntShare
with mac_context->mlme_cfg->gen.as_enabled
Change-Id: I8c86d1d082446e9dc63fc35d478b2e59768dae95
CRs-Fixed: 2665255
dual_mac_feature_disable isn't used in the module.
Hence, Removed from mac_context and csr_config_param.
Change-Id: If85fdbc93b8bfafd6dea694efc5847aa4d5abc42
CRs-Fixed: 2666569
When set_pmksa command is received from userspace, the internal
pmk table is updated with the new bssid entry and the pmk is saved
to the session. Additionally this update triggers an RSO update
command to the firmware which causes the use of stale pmk for
single pmkid case, in which the BSS capability of SAE single pmk
will be known only after parsing the beacon/probe received in the
roam synch indication.
So donot send RSO update on receiving set pmksa command.
Change-Id: I25419fbc3061ab963ccf3228b3681c83773a7963
CRs-Fixed: 2659055
Currently the driver uses the reason code
POLICY_MGR_UPDATE_REASON_CHANNEL_SWITCH for
chanenl switch for P2P-CLI which is same
reason code used for hw mode change in case
of SAP, so after the hw mode is changed the
VDEV-SM does call the callback of SAP CSA
also.
Fix is to use a different reason code for
SAP CSA.
Change-Id: I16b0521d5a21391e642f29e86037f9eb4fd2af62
CRs-Fixed: 2663915
Currently if station is connected in 11AX mode, AP's HE
IE is not getting updated in the cache information of the
station.
Add support to update HE operation element in the connection
info structure of the station context.
Change-Id: I214d6cec22525788e9ce21a7d832263148989715
CRs-Fixed: 2656005
Power stats is moved from debugfs to sysfs, and hence add the feature
flag WLAN_POWER_DEBUG such that this feature can be compiled out for
low memory foot print drivers.
Change-Id: Ic395f393580fcd59faa4e4676f67a39ff37bdd1a
CRs-Fixed: 2665089
SAP turn on is getting stuck for longer time due to vdev is getting
deleted logically before response for sme_soc_set_dual_mac_config comes.
To resolve this, add wait in wlan_hdd_update_dbs_scan_and_fw_mode_config
to confirm sme_soc_set_dual_mac_config completion.
Change-Id: I9408713fcf828d24688ecc45290d8c90a8d54c22
CRs-Fixed: 2663509
Currently for SAP case on the disconnection with the
client, host driver sends get stats command for the
disconnected peer to the FW and proceeds with the peer
deletion. There is a race condition where if the peer
gets deleted in the object manager before FW sends the
requested stats in that case host driver drops the
response from the FW.
To resolve above issue send the get stats request command
in serialization before peer delete command gets serialized
which will ensure that get stats response is processed
before peer delete in the object manager.
Change-Id: I1aa4be329a06e261222c0f9dccc36e08bd6b137a
CRs-Fixed: 2656842
Add INI - gActionOUIReconnAssocTimeout to configure driver
to do:
1. Driver will not send deauth to the AP after association timeout.
2. Reconnect to same BSS again if the last association failure
is association response timeout.
Default="00E04C 00 01"
The change fixes IOT issue with certain AP which doesn't
response first association request frame sometime. But the AP
would response second association request.
Change-Id: I9f7b8d14aaaaa97f08856c8b62e49b145db3ac91
CRs-Fixed: 2653877