Commit Graph

460 Commits

Author SHA1 Message Date
Jianmin Zhu
eb33a28d70 qcacld-3.0: Check vdev up instead of connected when chang RSO
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
2023-04-28 17:39:21 -07:00
Jianmin Zhu
d3bd22dfe0 qcacld-3.0: Abort RSO enable for not all mlo links up
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
2023-04-27 17:13:43 -07:00
Vinod Kumar Pirla
c72b4146c6 qcacld-3.0: Use ML BSS peer MLD address for PMKSA operation
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
2023-04-26 18:24:38 -07:00
abhinav kumar
38a0fbbf01 qcacld-3.0: Save initial connection ch width in mlme
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
2023-04-19 20:16:07 -07:00
Srinivas Dasari
a87a7cde2a qcacld-3.0: Extract all link probe rsps from ML probe rsp
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
2023-04-17 04:34:57 -07:00
Srikanth Marepalli
6feba28f2a qcacld-3.0: Delete TDLS peers before sending TDLS disable to FW
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
2023-04-14 23:40:26 -07:00
Jianmin Zhu
9228383500 qcacld-3.0: Wait HO_FAIL event when roam sync failed
Host received deauth and roam sync back-to-back after WoW, sent vdev
RSO_DISABLE before RSO_STATUS event, F/W assert.
1. Host received deauth event, limSmeState went out of link est state, sent
async event of cm_send_sb_disconnect_req.
2. Host received and handled roam_sync, CM_RSO: vdev0:
[ROAM_RSO_ENABLED(2)] --> [ROAM_SYNCH_IN_PROG(5)], roam sync failed since
not in link est state.
3. Host aborted roaming, ent back to CM-VDEV-0: CONNECTED, removed roaming
cmd from serialization queue.
4. Host sent RSO stop to F/W.
5. Host handled cm_send_sb_disconnect_req, dropped RSO stop during roam
sync, called cm_disconnect_continue_after_rso_stop without waiting for
RSO_STATUS event.
6. Host sent vdev RSO_DISABLE and vdev stop before received RSO_STATUS
event, F/W asserted.

To fix it, if host roam sync failed, need wait for HO_FAIL event and handle
it before handling other cmd, can't remove roaming cmd from assoc vdev
serialization queue to unblock other pending cmd before handling
HO_FAIL, just send assoc link RSO stop to F/W one time with
REASON_ROAM_SYNCH_FAILED, then wait for 2 events: FW_ROAM_EVT RSO status
and HO_FAIL. then handle HO_FAIL, at last remove roaming cmd, unblock other
cmd and trigger disconnect.

Change-Id: I03dd3ed21007ee67613c2d90b5567348c240f375
CRs-Fixed: 3445233
2023-04-10 20:48:40 -07:00
chunquan luo
6bb8117d77 qcacld-3.0: Roam trigger log optimize
Reserve log like "[18:11:32.086000] [ROAM_TRIGGER]: VDEV[0]"
for common roam and special roam.

Some customers are used to get log from serial port, reserve
this log can better support debug.

Change-Id: I79565c87cfcf42ae5de3d6895c27666d2676370b
CRs-Fixed: 3451003
2023-04-10 03:07:45 -07:00
Surya Prakash Sivaraj
90e60e7e05 qcacld-3.0: Rename and cleanup wlan_cm_set_offload_ssid()
Rename wlan_cm_set_offload_ssid() to
wlan_cm_update_offload_ssid_from_candidate().

Also, add separate APIs for get and set roam_offload_bssid.

Change-Id: I64d6661a265aeafde7c09fa59bc94cf7a49baf0b
CRs-Fixed: 3445337
2023-04-05 02:04:07 -07:00
Srinivas Dasari
8765c8c3b8 qcacld-3.0: Cache scan entries of all OWE links
Currently, OWE assoc link scan entry is cached post roam success
but link scan entry is not cached. This causes join failure while
non-assoc link tries to get connected post assoc link roam.
So, cache scan entries of all links while processing first link
itself to avoid these failures.
This also fixes adding scan entry properly for non-MLO OWE
cases as well.

Change-Id: I3188f98f2682acceaae28f226e6c8abe0c81fff9
CRs-Fixed: 3437632
2023-04-04 16:30:20 -07:00
chunquan luo
4261a44358 qcacld-3.0: Clear roam buffer data before write
Since we fill roam information into a ring buffer, when ready to
write a buffer, we need clear the dirty data first.

Change-Id: I94dac785803f15451df816c303f8a594ee688ff7
CRs-Fixed: 3437152
2023-04-01 07:06:13 -07:00
Amruta Kulkarni
dea51e434d qcacld-3.0: Fix for disconnect after roam abort
In roam invoke scenarios, if FW fails to roam
it will send roam invoke failure.
Until roam invoke failure is received FW is trying
to roam.
Currently if FW aborts roam, host will trigger
disconnect and rso stop is sent due to this FW
is unable to retry roaming.

Fix is to not trigger disconnect at roam abort
and wait until FW sends roam invoke failure.
To handle this store roam invoke params in rso cfg.

Change-Id: I32eeda70ef9f4d8a049fec53053f9e0c6eb36e51
CRs-Fixed: 3433320
2023-03-31 06:06:05 -07:00
Rahul Gusain
64f4ef5843 qcacld-3.0: Use MLD address for auth frames in SAE ML roaming
SAE authentication happens with MLD address rather than link
addresses as it's common authentication for all links in an ML
connection. But OTA exchange of authentication frames happens
with a chosen link address from available links.
As userspace takes care of the SAE authentication, host driver
has to replace the rx SAE auth frame SA with peer MLD and DA with
self MLD address. Similarly for tx SAE auth frames, replace self
SA with link address and DA with peer link address.

Current change is to support the same for roaming case. Fetch the
MLD from scan cache corresponds to link address provided in roam
auth event and replace as mentioned above.

Change-Id: Ide15caa122f78301391b5ea891e2e6eaf4af8974
CRs-Fixed: 3441483
2023-03-30 09:00:55 -07:00
Jianmin Zhu
79c8fc615d qcacld-3.0: Fix wrong self mac in pe session after roam to legacy
When roam from mlo to legacy, self mac need change from link addr to
interface addr.
When roam from legacy to mlo, self mac need change from interface addr
to link addr.
Self mac in vdev is updated by mlo_roam_update_vdev_macaddr already,
self mac in pe session need update too.

Remove useless self_mac in roam_offload_synch_ind.

Change-Id: I7bdfe35d5a219cb2c0eba30a4995babc8ac6199a
CRs-Fixed: 3442785
2023-03-29 11:29:18 -07:00
chunquan luo
39dd13c819 qcacld-3.0: Add flag to filter special vendor roam log
Since special vendor roam log is not need for common roam,
add flag to filter the log.

Change-Id: I5eb47f68048a48f817037e5e98d3e7fe51ee6565
CRs-Fixed: 3437627
2023-03-29 09:45:08 -07:00
Vijay Raj
72dfd6a38f qcacld-3.0: Add events to modify Beacon miss disconnection logging
Disconnection is logged even if keepalive indication is
sent to host after firmware sending final beacon miss
event.

Add two new roam failure reason code to indicate roam
failure and send final beacon miss.

ROAM_FAIL_REASON_NO_AP_FOUND_AND_FINAL_BMISS_SENT: Indicate
roam failure when no ap is found and final beacon miss
is sent.

ROAM_FAIL_REASON_NO_CAND_AP_FOUND_AND_FINAL_BMISS_SENT:
Indicate roam failure when no candidate ap is found and
final beacon miss is sent.

Change-Id: I6d7a6034f8be5388dd35dd3c05fecfd40a8d888d
CRs-Fixed: 3437060
2023-03-27 23:37:08 -07:00
Surya Prakash Sivaraj
83299d06fc qcacld-3.0: Add support for AKM25
Add support for FT-SAE-EXT-KEY AKM.

Change-Id: Ia013a81f67d204fed486ab130b3480654703f59c
CRs-Fixed: 3406625
2023-03-27 11:20:51 -07:00
Surya Prakash Sivaraj
d24935c6f4 qcacld-3.0: Set proper SSID in the external auth req
In SAE roam offload case, the SSID of the candidate is
retrieved from the roam candidate frame, and this SSID
is sent to the userspace for initiating SAE authentication.

However, if roam candidate frame is an MBSS beacon and the
candidate BSSID is present in non-tx profile, still the
SSID from tx profile is sent to the userspace, which leads
to authentication failure.

To fix this:
a) Save the BSSID in addition to the SSID during the roam
candidate frame extraction.
b) During roam auth offload event, get the SSID from the
scan cache only if the existing BSSID cache(filled in #a)
doesn't match with the BSSID received in roam offload event.

This would prevent the time expensive scan table lookup
operation for non-MBSSID cases.

Change-Id: Ib8cc0408cba7ccfc8c2b3e2d657f7b40f8a4d421
CRs-Fixed: 3437698
2023-03-25 19:09:05 -07:00
Amruta Kulkarni
2514a9e8bd qcacld-3.0: Add roaming source and bssid check before issuing disconnect
When fast reassoc command is received with bssid
and channel frequency set to zero, if no candidate
found, STA DUT should disconnect.
Currently STA is disconnecting from current AP but
the also when FW aborts roam.

To fix this add additional check for roaming source and bssid.

Change-Id: I6ee3f5cea6ef3976b9cc5549ab113e4af30484d7
CRs-Fixed: 3441770
2023-03-25 16:07:12 -07:00
Liangwei Dong
c72ac1a9e4 qcacld-3.0: Avoid SBS channels missing in scan filter
In dual STA case, driver will avoid selecting candidates causing
MCC, but the current hw mode may have some delay updated from firmware.
So the API policy_mgr_are_2_freq_on_same_mac may not get correct
DBS or SBS channel state of two channel frequency.
Fix it by do not depending on current hw mode by using API
policy_mgr_2_freq_always_on_same_mac to check potential MCC or
not of two channel frequency.

Change-Id: I7d5382e786c421d5f99578e08b62b07864f48974
CRs-Fixed: 3441024
2023-03-22 22:16:42 -07:00
Pragaspathi Thilagaraj
36f994680f qcacld-3.0: Fix wrong subnet_change_status derivation after roam
Subnet change status field is obtained from bits 4 & 5 of the
roam_reason field in roam synch indication. But in
cm_fill_roam_info() the subnet_change_status is received from
the masked roam reason field and is always 0. So after
roaming to AP with different subnet wrong subnet change
indication is sent to userspace and ultimately NUD failure is
triggered.

Get the subnet_change_status directly from the roam synch
indication

Change-Id: I708276750c0aa3f1586cf9501f55f742d42ebf3f
CRs-Fixed: 3438725
2023-03-22 13:55:22 -07:00
Amruta Kulkarni
095e152d33 qcacld-3.0: Handle fast reassoc with mac address set to zero
When fast reassoc command is received with bssid
and channel frequency set to zero, if no candidate
found, STA DUT should disconnect.
Currently STA DUT stays on the same AP.

Fix is to add bssid zero check and disconnect from
current AP.

Change-Id: Id6a26703929f7783e852bb42eebd57f5d5ba8b13
CRs-Fixed: 3433308
2023-03-19 07:55:36 -07:00
Jeff Johnson
c031a55590 qcacld-3.0: Remove wlan_cm_is_sta_connected() prototype
Function wlan_cm_is_sta_connected() was removed by the following patch:
  qcacld-3.0: Code cleanup for connection manager CSR
  Change-Id I156b7ee286f666ee5d660312bf5ba2fe364165c4

However, the prototype was not removed, so remove it now.

Change-Id: Id23f14f1390c72e5f39cef3fbab2eacd6752dc1d
CRs-Fixed: 3430410
2023-03-16 11:18:57 -07:00
Amruta Kulkarni
271f3367e8 qcacld-3.0: Handle supplicant enable rso for mlo connection
In case supplicant enable's roaming before link vdevs are up
drop the request as once all links are up host will enable RSO.

Change-Id: Iba10b6da7c0d24f6e7b1601eefab1dbee0e3af46
CRs-Fixed: 3429178
2023-03-15 04:33:30 -07:00
Sai Pavan Akhil Remella
c7d5fd2c1b qcacld-3.0: Send the trigger reason as part of roam scan stats
Notif_param of Roam event ID carries the trigger reason as part
of roam scan start notif. Currently host doesn't read this param.
This commit reads the trigger reason and sends it to user-space
via vendor attribute whenever the roam event vendor command is
enabled.

Change-Id: If9fdbc31df149f4f1c9ca196ee74e2fcb3709a1c
CRs-Fixed: 3161803
2023-03-14 10:37:09 -07:00
Sai Pavan Akhil Remella
c8a5f9ac8d qcacld-3.0: Send the vendor attributes with Roam stats
As part of commit I6d04f0946e6735613a4cf3d4361bf31052314fa0
a vendor command was added to enable roam stats event.
This change registers callback to send the added vendor
command event to userspace.

Change-Id: I3c504797b1b9619d3e4ecc1c37256dea75127e14
CRs-Fixed: 3403536
2023-03-14 10:37:03 -07:00
Jianmin Zhu
4dc1a27cf5 qcacld-3.0: Support mld self roaming with high rssi trigger
Support mld self roam between DBS(2 GHz+5/6 GHz) and HBS(5 GHz+6 GHz).
Change high rssi config.

Change-Id: Icb65f26509848a09fe46bf01154a0f42efa073f2
CRs-Fixed: 3416549
2023-03-04 03:54:07 -08:00
Srinivas Dasari
18b0b2c910 qcacld-3.0: Populate partner info from roam sync ind to pe session
3-link ML connection/roaming expects link id to generate link
specific (re)assoc response from received (re)assoc response.
This info is fetched from pe_session but it's not populated
properly in case of roaming. Roam sync indication carries all
links info whereas the assoc rsp generation API expects the
link info for which it has to be generated.
Copy partner link info only from roam sync indication to
pe_session to cater the same.

Change-Id: I75c9a42688f7613ca3f1afab8afe77622bb659aa
CRs-Fixed: 3412939
2023-03-03 11:45:48 -08:00
Srinivas Dasari
8f1170af29 qcacld-3.0: Fetch bcn/prb rsp received freq based on source addr
Firmware sends beacon/probe rsp received to host as part of roam
sync(frame) indication. Frame received frequency is same as
re-association frequency in case of non-ML or single link ML
roaming.
But the ML probe response might come from non-assoc link in case
of multi link roaming. Probe response received frequency and
reassociation frequency are different in such cases. Some
IEs(e.g. HT_INFO) expect frame received frequency to match with
the frequency mentioned in the IE.
So, fetch the probe response received frequency from source
address of the frame and the ml_info of roam sync indication.

Change-Id: Ife96aa46de10d4cd6882e6d04479dfdd481582d4
CRs-Fixed: 3412842
2023-03-02 16:28:28 -08:00
Paul Zhang
afd194fb4e qcacld-3.0: Correct logic for roam fails in NUD case
If roaming is triggered by source CM_ROAMING_NUD_FAILURE,
then per the INI gEnableNUDTracking to check whether
disconnect current connection or not.
gEnableNUDTracking=2, keeping the connection
gEnableNUDTracking=3, disconnect the connection

Change-Id: I0f321dcf5f3fc1bf7d0c93fa0d70bf4770ccaf35
CRs-Fixed: 3412213
2023-02-24 13:50:44 -08:00
Jianmin Zhu
f6035ce635 qcacld-3.0: Extend WMI_ROAM_STATS_EVENTID for enhanced roam
Extend WMI_ROAM_STATS_EVENTID event information for
requirement of:
1.Roam trigger related information, include timestamp,
  trigger reason, trigger condition, abort reason,
  scan type, roam status and fail reason.
2.Roam scan related information, include scan channel
  number, dwell type, max dwell time of each channel
  and total scan time.
3.all types of roam related frame information, include
  timestamp and successful or failed status for Preauth,
  Reassoc, EAPOL-M1/M2/M3/M4.
Cache roam information in wlan driver, when qca vendor
cmd of QCA_NL80211_VENDOR_SUBCMD_ROAM_STATS get roam
information, driver send all the cached information to
user space.

change-Id: Ic5e1120b51c20c103100833b4296002c5939b021
CRs-Fixed: 3389269
2023-02-22 07:34:02 -08:00
Paul Zhang
708b3542a3 qcacld-3.0: Enhance logic to support mlo 2+ links
Enhance the code logic to support mlo 2+ links.

Change-Id: I618d789a502f0577d62d62243a25e7324e685315
CRs-Fixed: 3193628
2023-02-17 09:32:01 -08:00
Amruta Kulkarni
c73843f146 qcacld-3.0: Fix to free copied reassoc response
During OWE roaming if north bound disconnect is received or
link vdev connection fails copied reassoc response is not freed.

Fix is to free the copied reassoc response in the disconnect path.

Change-Id: I19d839b63c774b29ee449635722fae744c7e461d
CRs-Fixed: 3404843
2023-02-16 21:30:06 -08:00
Surabhi Vishnoi
b8adb54ef5 qcacld-3.0: Send TDLS notify sta disconnect on roam
Currently, TDLS STA disconnect notification is not sent during
roam, so WMI_TDLS_SET_STATE_CMDID with disable command is not sent
to firmware. This leads to unexpected behavior in firmware when STA
have migrated to different mac based on new band (2 GHz to 5/6 GHz or
vice-versa) due to roaming, but TDLS STA remain on previous mac.
Firmware expects host to send WMI_TDLS_SET_STATE_CMDID on roam also
so that it can destroy and create new TDLS STA instance and map TDLS
STA to new mac.

To fix above issue, send WMI_TDLS_SET_STATE_CMDID with disable TDLS
state to firmware after driver receives roam sync indication which
leads to destruction of TDLS STA instance in firmware.
Host driver would later send WMI_TDLS_SET_STATE_CMDID with enable TDLS
state(not part of this commit) after successful STA roaming so that
firmware maps TDLS STA with new mac.

This change also removes unused ucfg_tdls_notify_sta_connect() and
ucfg_tdls_notify_sta_disconnect() APIs.

Change-Id: Id680d0f6193740b24e78115ac7dc7be26e28acff
CRs-Fixed: 3388507
2023-02-16 18:19:28 -08:00
Liangwei Dong
ff974bc970 qcacld-3.0: Trigger roam if no active MLO link
In multilink ML STA, if one link is removed by AP, and no other
active link, trigger roam by roaming invoke command.

Change-Id: I61d9413e2102315b258f946af2193f7cfb7b91aa
CRs-Fixed: 3352870
2023-02-14 19:49:19 -08:00
Liangwei Dong
a60bf20c33 qcacld-3.0: Fix potential out of memory access
Limit num_chan to be less than WLAN_MAX_LOGGING_FREQ
and NUM_CHANNELS to fix potential out of memory access.

Change-Id: I5e0bcd449a738fa416daeaebaeafbd2ec11913ba
CRs-Fixed: 3405136
2023-02-14 12:16:39 -08:00
Amruta Kulkarni
33989948e3 qcacld-3.0: Correct camelcase in roam data structure
Componentized code should be adhering to the coding standard.
However struct roam_offload_synch_ind has a large number of
camelcase members.

To fix this replace camel case members with snake_case.

Change-Id: If866379d8f01cc0e932ea391d586575de4af9163
CRs-Fixed: 3383579
2023-02-10 18:10:23 -08:00
chunquan
e27a423531 qcacld-3.0: Enhanced roam information struct declare
Declare enhanced roam related information struct and
enum in host driver.

Change-Id: Ibe9e9dacb2abdeac15d57a25b067da083ee05542
CRs-Fixed: 3396059
2023-02-09 19:23:17 -08:00
Jianmin Zhu
1eb2511a22 qcacld-3.0: Disallow MCC for STA_POLICY_UNBIASED
Even primary interface is configured, if dual STA policy is
STA_POLICY_UNBIASED, MCC is disallowed for both roaming and connect.

Change-Id: I6e26fdcdc930eb116771abfe310811c6534be09f
CRs-Fixed: 3396425
2023-02-08 20:00:08 -08:00
Surya Prakash Sivaraj
c76288d024 qcacld-3.0: Cleanup link VDEV SM on roam HO failure
In case of legacy to multi-link MLO roaming, if roam sync event
handling fails, then the pe_session is deleted for the link
VDEV and the cleanup happens only for the assoc vdev. Since,
the link vdev doesn't have proper session/vdev params, the
cleanup fails in link VDEV. This leaves the link vdev in UP
state, even after disconnection. Therefore, subsequent attempts
to connect to an MLO-AP would fail since the partner link is
never cleaned up and is in invalid state(UP).

To fix this, propagate the HO-failure error through state machine
and move the VDEV SM from UP->DOWN directly.

Change-Id: I6480a1821ab4c8cf9af6cd96af0f7889307c3b18
CRs-Fixed: 3362995
2023-02-07 20:01:39 -08:00
Liangwei Dong
7af7c4e45a qcacld-3.0: Handle link removal flag on vdev
Add APIs to set/clear link removal flag on vdev object.
If link is removed, drop the disassoc or deauth frame for
the vdev.
If disconnect start is indicated, stop the reconfig timer.
Clear the link removal flag on disconnect complete.

Change-Id: I729621aec36b82de6e88970675b020a2c5721e68
CRs-Fixed: 3352779
2023-02-05 22:50:57 -08:00
abhinav kumar
f9137050ed qcacld-3.0: Avoid using fw-api defined enum at the CM layer
Currently, the definition of WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID
is present at the fw-api level. The host should not be using fw-api
definitions outside the WMI TLV code. To make sure it,

1. Add host-defined enum vendor_control_roam_param which defines
the param IDs that the host supports.

2. Add logic to convert host-defined enum vendor_control_roam_param
to fw-api defined enum WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID and
vice versa.

Change-Id: I035ece1bc0af8e583782460868193affb76db0f3
CRs-Fixed: 3363916
2023-01-27 10:39:03 -08:00
Paul Zhang
66fcbb5894 qcacld-3.0: add critical update feature
Add critical update feature code. If BSS parameters change
count (BPCC) is changed, the value of cu_flag returns from
function lim_check_cu_happens is true. It can try to update
the critical update IEs code logic per cu_flag.

Change-Id: I39445a75e747e6e00a29be726fd447b9fbc7fb17
CRs-Fixed: 3296181
2023-01-26 01:24:45 -08:00
Amruta Kulkarni
87f1a94226 qcacld-3.0: Handle 1x roaming case
In case of 1x MLO roaming, 4 way handshake is offloaded to supplicant
and link vdev is down in FW. Host has to bring up link vdev post
set key installation.

Add handling in host for following:
- During roam sync indication handle only assoc link.
- Save reassoc response and link information.
- After keys are installed bring up link vdev by
queueing connect req on link vdev.
- Enable roaming after all links are up.

Change-Id: I9c0722f88e950ba05ec3dd7f44883bedf568f97d
CRs-Fixed: 3287316
2023-01-24 09:39:31 -08:00
Srinivas Dasari
b8db5ef04a qcacld-3.0: Handle SAP restart case in fixed chan SAP
Currently, unsafe channels are avoided when SAP restart happens.
If WMI_COEX_FIX_CHANNEL_CAPABILITIES is advertised by firmware
and if the SAP is started in a fixed channel, don't restart even
if the current operating channel is unsafe.

Change-Id: I5f7d632bcc00a1b5351dad64aca0ce16f1057537
CRs-Fixed: 3381394
2023-01-19 23:32:58 -08:00
Rahul Gusain
4d22da60ff qcacld-3.0: Add print log for new roam scan type
Firmware sends the roam scan info tlv to driver during roaming.
Currently, in this tlv, firmware fills scan type as (0-3) and
driver log this as "PARTIAL", "FULL", "NO SCAN" and "Higher Band"
But with new requirement, idle roaming shall only roam to higher band
(2.4 GHz < 5 GHz < 6 GHz) than current band.
1. If current band is 2.4 GHz, it cannot roam to 2.4 GHz.
It can roam to 5 GHz and 6 GHz.
2. If current band is 5 GHz, it cannot roam to 2.4 GHz and 5 GHz.
It can roam to 6 GHz.
So, to add this requirement, firmware introduces new scan type 4 for
which driver need to log.

Change-Id: I80d1c47a434da5009aed4cab08c6eae91bda5b0e
CRs-Fixed: 3379468
2023-01-19 12:27:01 -08:00
Rahul Gusain
81ba2c92d4 qcacld-3.0: Optimize the free connect response
API to free the roaming info, fils ie and connect ies is now
present in cmn. Reuse of the same API to optimize the code.

Change-Id: I63b416323b4882ee589941e9b06f45a094b3f800
CRs-Fixed: 3378946
2023-01-19 12:26:54 -08:00
Vijay Raj
0a934e2617 qcacld-3.0: Add support for Neighbor report Logging
In api cm_roam_stats_print_11kv_info(), neighbor report
logging was not supported.

Add support for Neighbor report connectivity logging
through api cm_roam_neigh_rpt_req_event() for Neighbor
report request event and api cm_roam_neigh_rpt_resp_event()
for Neighbor report response event.

Change-Id: If9d93584d4030f76b5175d361dfd34fce3b5b5b1
CRs-Fixed: 3370797
2023-01-17 16:40:55 -08:00
Amruta Kulkarni
38e2b1f38d qcacld-3.0: Handle t2lm ie after connection complete
Change done to handle t2lm ie after MLO connection
is completed and save tsf value received in beacon.
Also fix to not select link if tid mapping is not present.

Change-Id: Ie2ce1fcfa50a4e14a083a508b268dfebb308d3ad
CRs-Fixed: 3342807
2023-01-16 04:34:27 -08:00
Jeff Johnson
8da282a666 qcacld-3.0: Fix UMAC Documentation
The kernel-doc script identified a multitude of documentation issues
in components/umac, so fix them.

Change-Id: If30358cb83e90348e410cfea163353f2dd26b3fa
CRs-Fixed: 3360814
2023-01-13 02:09:41 -08:00