Roam background scan abort, driver print roam result
failed, but current ap is still connected.
Change roam abort background scan log instead of fail.
Change-Id: Ia10f010e8c353b12bdbbe0407c8e3d30b1ea45c2
CRs-Fixed: 3469290
Caller of wlan_cm_get_rnr, uses the cm request data without
lock.
Fix it by passing a local memory to wlan_cm_get_rnr to get
a copied data to use.
Change-Id: I574de5391dd02c1603e7c9c4b79b58d45e6e7739
CRs-Fixed: 3483870
For ML-AP, if fastreassoc command is received and scan
candidate is not found in host scan db.
Host will still send roam invoke request to FW, FW will
perform scan.
Change-Id: I8157cf396e3e0c19607d990307e07d31e879a2d4
CRs-Fixed: 3474257
When handling T2LM action request frame, clear the previous
ml peer level t2lm negotiation before applying new tid mapping
to FW.
Change-Id: Ie7f7a28fb7cf886778cd697605352c4ff47d18fd
CRs-Fixed: 3487089
After ML STA connected on 2.4 GHz + 5 GHz, two existing
SAP (2.4 GHz and 5 GHz) have to force SCC to respective
band's ML link home channel. Currently driver make the
CSA for two sap at same time but to different channel.
We only support CSA one by one (for different target
channel) because only one target channel is in
mac_ctx->sap.SapDfsInfo.target_chan_freq. Otherwise, the
value will be override by second SAP's CSA and causes
first SAP changed to wrong channel.
Fix by:
1. change __policy_mgr_check_sta_ap_concurrent_ch_intf to
trigger CSA for one SAP by break the loop.
2. reschedule the sta_ap workqueue after first CSA done in
multiple SAP case. Then do force SCC for second SAP.
Change-Id: I1de81b5839a7e24f862627ecc49663dcd0d91ce4
CRs-Fixed: 3470343
As per requirement, for MLO connection host should reject
GET_CU_FOR_EACH_SUB_BW request and return failure to upper
layer as a response.
Change-Id: I8177d92982c832a17c1657239b69cc3712e1eaf4
CRs-Fixed: 3476349
Diag logging is used for connectivity logging of
BTM event.
Remove unused legacy connectivity logging mechanism for
BTM events.
Change-Id: I65dc5fe5f071fd74eeed2433894a238318ce76ab
CRs-Fixed: 3470401
Diag logging is used for connectivity logging of roam
candidate event and roam roam result event.
Remove unused legacy connectivity logging mechanism for
roam candidate and roam result events.
Change-Id: I826107fc764abdeec7408dbb6c52e580d1fe32f4
CRs-Fixed: 3470206
Scenario: There is dual sta present in HBS mode in DUT where one
sta is on wlan0 interface and it has 11be capability, so it has
formed ML connection with ML AP. The another STA is present on
wlan1 interface and this STA also supports 11be capability. But
as per current design, host supports 11be with MLO. It doesn't
support 11be alone. Also 11be with MLO is supported only in wlan0
interface. So for another connection which are present in wlan1
interface, even if it supports 11be host will downgrade to 11ax
and form connection.
During the formation of second connection, host will sends peer
create command(WMI_PEER_CREATE_CMDID) to firmware. Before sending
this command, host checks only eht cap in cm_create_bss_peer()
and fills the mld_mac addr. Because of that, DP assumes that
there is an ML connection and it creates MLD peer on wlan1
interface. Due to this, it causes ping failure on wlan1 interface
as the ICMP response might be coming on incorrect peer and it's
getting dropped.
As part of fix, check whether vdev is mlo supported or
not in cm_set_peer_mld_info()
Change-Id: Ieed67aa2735d200a140f9e771d791b3b9308a0f9
CRs-Fixed: 3474874
Add API to get LI which is configured by the user.
In case, user has not configured any interval,
device uses default LI and this cmd will return 0
Syntax for cli cmd: driver GET_LISTEN_INTERVAL
Change-Id: I3ef12ffc757288c057c88dceece7dbc2da68880b
CRs-Fixed: 3425472
If STA connected with MLO AP, don't process ch_width update
with notify request.
Change-Id: Id2e0d6357feac13787abcafe8b9d69a0c64dbedb
CRs-Fixed: 3472173
Host receives QCA_WLAN_VENDOR_ATTR_CONFIG_CHANNEL_WIDTH vendor
command indication to update STA adapter channel width.
On receiving channel width update indication from upper layer,
first host updates internally and send new channel width value
to FW via WMI_VDEV_PARAM_CHWIDTH_WITH_NOTIFY.
Target firmware should take care of notifying associated peers
(except TDLS) about change in bandwidth, through OMN/OMI
notification before performing bandwidth update internally.
Change-Id: I517ed1fbf8d074e511f8fb43c9c1dac824c9f084
CRs-Fixed: 3469473
In case of wide band scan request, FW sends subband CCA busy info
to host via a new tlv wmi_cca_busy_subband_info added in existing
event WMI_CHAN_INFO_EVENTID.
Fix is to store CCA busy info coming from FW to HDD context.
Change-Id: Ic4b439ed1c270badbe265dc8543dc6d6a1612fab
CRs-Fixed: 3469467
Diag logging is used to log mgmt frame events.
Remove unused unused legacy connectivity log used
for mgmt frame events.
Change-Id: I7d682f9aa4005d82beef03030017f943687e3480
CRs-Fixed: 3469403
Add support to stop t2lm timer during sta disconnection
and clear t2lm mapping.
Change-Id: I59e724331eda8b67fd1405031bdb00d12805ad09
CRs-Fixed: 3479496
When roaming happens, vdev CM changes from CONNECTED to ROAMING first,
vdev still keeps up, then RSO becomes ROAMING_IN_PROG later,
so need permit RSO cmd during CM ROAMING state.
Change-Id: If4902dcff6b8b4f169fb43da4a889b09e1c2875d
CRs-Fixed: 3482158
While mlo wlan0 sta connecting with vdev0 up and vdev1 not up yet, wlan1
vdev2 disconnected, enabled roaming on other connected sta, then vdev0 RSO
enabled before vdev1 up, mlme session for vdev1 wasn't created in F/W. When
roaming happened, vdev1 peer wasn't deleted, F/W asserted.
To fix it, for mlo sta, follow legacy sta, if not all of requested links
are up, abort RSO operation except deinit on it.
Change-Id: I7026614ab91cf0a603c97e962433dc5139b210dd
CRs-Fixed: 3471655
If PMKID present in AP expires, AP rejects the PMKID based association.
Current design is to clear the cache using BSSID/MAC address of link
in such cases to let a fresh SAE authentication to happen.
But host driver stores PMKSA with MLD address for ML BSS.
Adapt to the same and update PMKSA cache clear APIs to use
MLD address instead of link address.
Use the API which gives ML BSS peer's MLD address for
MLO VDEV or else legacy address for non MLO VDEV to remove
the correct entry in PMKSA cache based on association.
Change-Id: I4af9814e377737eef4a54fdf15db9f6bac38d954
CRs-Fixed: 3433723
Add the following fixes to get Async TID to link map info:
1. Add APIs to register and unregister the T2LM callback.
2. Add HDD callbacks.
3. Send T2LM info, when receiving TID-to-link mapping response
from the associated AP MLD.
Change-Id: Ia98605b3244b24cc3cac41d2decf22ff6aa82f88
CRs-Fixed: 3431518
Need to add support for rTWT feature in host. Host needs to define rTWT
ini, and set rTWT bit in EHT Cap. rTWT ini will allow users to
enable/disable rTWT feature. We define rTWT ini and function to get ini
value. EHT Cap will advertise rTWT support to peer. To populate EHT Cap
we must validate rTWT is supported in driver. To do this, we check rTWT
and bTWT params.
Changes are as follows.
1) Define rTWT ini
2) Get rTWT ini value
3) Get rTWT support
4) Set rTWT bit in EHT Cap
Change-Id: Id5676c6b7c3d4f48a0010f2e9ae369d9dfa710e9
CRs-Fixed: 3446652
To process get_cu_for_each_subbw request from upper layer,
host needs to trigger scan for initial connection ch width
on every get_cu request.
Change-Id: I2bbf20c9207f46983b14dcd95bf81f32cfd7c060
CRs-Fixed: 3466958
Some AP doesn't honor CCK rate for auth/assoc.
this ini is added to detect specified AP and
send auth/assoc/reassoc(non-offload) with 6 Mbps
rate on 2.4 GHz, then AP will ack to STA.
Change-Id: I8a164471198842368add40ca726420569dd82430
CRs-Fixed: 3412381
Add the following fixes in case of peer-level tid-to-link
mapping negotiation.
1) Copy peer-level mapping to wlan_prev_t2lm_negotiated_info
from wlan_t2lm_onging_negotiation_info after negotiation
is completed as the former structure is used for mapping
reference.
2) Currently, the Host sends peer-level negotiated mapping
to FW, followed by an action frame response to the AP.
Reverse this order to align with the design flow.
Change-Id: I0e0db95c539cfd9aee27b481683e3e807a1f712e
CRs-Fixed: 3423125
When MLO STA is supported in MDM, driver needs to
use the new PCL table for 4th connection.
Move the existing PCL table under macro MDM_PLATFORM
to support this.
Change-Id: I494e7a8d6ecc0a550027ff7f64de5deb11b987a9
CRs-Fixed: 3467738
Change mask for OUI as the 2nd byte will change dynamically
for each powerup/powerdown.
Change-Id: Ia742f96956e470fd0c02ae4ee8813f0f84e96556
CRs-Fixed: 3460525
Allow a maximum of one ML SAP instance at a time and restrict any
other ML SAP start. The existing code allows secondary ML SAP to
come up if no other concurrent connections are present.
Add the condition to check only SAP mode in the policy manager list
so that other opmodes are not considered.
Allow new ML SAP instance only if no other ML SAP instance exists.
Change-Id: I3ea08b2c8de92f84e288e078a19cac0da261e69e
CRs-Fixed: 3460774
Currently host driver sets value of out psoc to NULL once it
assigns value of out_psoc to a local variable. Now if there is
any issue after this assignment, this global out_psoc is not
available for debugging purpose.
To debug some complex issues, set out_psoc to NULL at the end
of the psoc destroy function.
CRs-Fixed: 3469397
Change-Id: I479b0c4aedd77f374d8dff085cfade00a8e5cc5b
eMLSR + NAN concurrency is not supported currently, so handle it
as mentioned below
1. eMLSR+NAN: If NAN is coming up when eMLSR is active, disable
one ML link so that eMLSR gets disabled.
2. NAN+eMLSR: If eMLSR is coming up when NAN is already enabled,
disable one link so that eMLSR doesn't get enabled.
Also, cleanup the APIs to carry a generic flag to indicate that
a concurrent connection is coming up instead of mode specific flag
as there is no dependency on modes to handle concurrency.
Change-Id: I625f8b18f9d7e991922d22af53f3e8743a3727bd
CRs-Fixed: 3443900
Firmware sends beacon/probe response of the roam candidate to host
through roam_frame_event when it chooses a candidate which needs
SAE authentication to be performed. This is needed as the host
checks if corresponding scan entry is present in the scan db
before starting SAE authentication trigger.
But in MLO roaming case, firmware might send ML probe response
and the scan entry corresponds to re-assoc link might be present
in the per STA profile of the ML probe response.
So, extract all per-STA profiles and add them to scan db.
Also, use this API to extract and add the link specific
ML probe responses for the ML probe response received
in roam sync indication if extraction via roam info fails due
to some reason(currently it may fail if fw roams to a link but
got ML probe rsp from other link as link_info is not
present roam info).
Change-Id: I6c67927732a54568dfe618bdecaca8f37515e203
CRs-Fixed: 3454834
Currently, in WMI_WOW_ADD_WAKE_PATTERN_CMDID driver sends only SAP mac
address and pattern_id. So, FW does not have bridge mac address.
To fix it, driver will send bridge mac address and pattern_id along
with SAP mac address and pattern_id.
Change-Id: I3fae9f0383a1ba8c64edfa6cf8518ab9a5604a14
CRs-Fixed: 3456318
When P2P CLI is connected first and then STA is connected,
disable TDLS on existing interface and enable TDLS on the STA
vdev.
When existing STA + TDLS exists, disable off channel when P2P
connection is started and re-enable off channel for TDLS once
connection is complete. Don't teardown TDLS peers once the
P2P client connection is successful.
Change-Id: I91d152a3a052706289c06cebc932c84a69fdbc00
CRs-Fixed: 3455639
As part of commit(Id680d0f6193740b24e78115ac7dc7be26e28acff)
during roam driver notify the TDLS STA about disconnection.
During this driver sends the TDLS disable command to Firmware
without deleting the TDLS peers. As a result of this in FW the
TDLS delete instance is called and TDLS handle is marked as NULL.
And later in driver the TDLS peers are getting deleted and now
the teardown update command is sent to Firmware. But in FW as
the TDLS handle is already NULL, it has asserted and crashed.
Fix is to delete the TDLS peers in driver and update the teardown
to Firmware and then send the TDLS disable command to Firmware.
Change-Id: Ic425cc065a29bbc444531f523eaccb14014ae47a
CRs-Fixed: 3455117
Currently, MLO vdev flag is not cleared even when STA roams to a
legacy AP from an ML AP. This causes sending invalid info to
kernel as the os_if APIs still treat the connection as MLO
connection though STA roams to an ML AP.
Clear the assoc vdev MLO flag to avoid this.
Change-Id: Iaf013aebd1fe794202abdeeaa6b5db14987b6103
CRs-Fixed: 3466501
tdls_disable_in_progress checks are always false since the
tdls_disable_in_progress is never set to true.
So cleanup the condition checks that use the
tdls_disable_in_progress variable.
Change-Id: I8a5f868c09919fc5835b9f8f7f30a32d59dab74a
CRs-Fixed: 3445123
Remove unwanted QDF asserts from PMO and suspend all components as there is
error handling present for error cases.
Change-Id: I43b1ba36d9e2fb467a7a7c110abd4a2d44e5b1a8
CRs-Fixed: 3459928
In wlan_hdd_get_station_stats, NULL checking for
pdev_stats fails as it doesn't pass pdev stats info
to hdd layer. stats will not pass to userspace, it will
display tx bitrate unknown in command "iw p2p0 link" or
"iw p2p0 station dump".
issue only happen on p2p0 and not on wlan0. as wlan0 can
use cached stats in __wlan_hdd_cfg80211_ll_stats_get.
Fix is pass pdev stats info to hdd layer in
get_station_stats_cb.
regression cause is:
Iaefc5629872431cbc6c24090b1edb6cebdad995a
Change-Id: I33b608988aa288e0f8139524de5e20fcbba4f2be
CRs-Fixed: 3457955
TDLS AP capabilities are stored in MLME, but is not used while
sending WMI_TDLS_SET_STATE_CMDID to firmware, instead false is
passed without passing the actual AP capabilities. This could
cause TDLS getting enabling when AP doesn't allow TDLS.
Cleanup few API and remove ap_cap structure in TDLS vdev private
object
Change-Id: I43c140d58e8777da3acf748f08f5d9915fd91bf4
CRs-Fixed: 3449324
If CSA on SAP/P2P GO causes MCC with the current STA TDLS vdev,
then teardown the TDLS connections, disable off channel and send
disable TDLS to firmware.
If CSA causes MCC -> DBS or MCC -> SCC then allow TDLS and update
the peer off channel list to firmware
Disable TDLS off-channel before SAP/P2P GO vdev restart.
Once CSA is complete, TDLS off-channel will be re-enabled based
on the concurrency.
Add interface manager changes to notify STA channel switch.
Change-Id: I36b359a7e1cf570cfb2b2f0e6abedf148a8fd174
CRs-Fixed: 3445112
When a T2LM teardown action frame is received clear the
previously negotiated peer level t2lm mapping and update
FW with established mapping if valid or default mapping
applies.
Change-Id: I7951c76fe3d6c1bf231300675f2b954ff7697b39
CRs-Fixed: 3420421
Currently, MLO flags are cleared before issuing disconnect on
the link vdev when DUT roams to a single link ML-AP. But these
flags get cleared as part of disconnect handler and not supposed
to be cleared anywhere else.
Clearing these flags before issuing disconnect on link causes
sending disconnect done indication to kernel as the flags
got cleared, which make the vdev as non-MLO. This race condition
is possible when a disconnect is queued from userspace on
link vdev while one disconnect gets processed on it(due to
single link roaming).
Change-Id: I8206c1b8197bf26ad852eafb631c8585bc749846
CRs-Fixed: 3439175