提交图

539 次代码提交

作者 SHA1 备注 提交日期
Abhinav Kumar
4704ced888 qcacld-3.0: Update assoc channel width as per mlo vdev
The issue is host always uses assoc link channel width
to calculate the list of the channel(s) to trigger
wide band scan for both links.

In the case of N link MLO connection, the associated
channel and associated channel width may be different
for assoc link and non-assoc link(s).

Fix is to choose the proper associated channel width
and prepare the channel list for each link(s).

Change-Id: I2fce5d1153d396f1bfc9575572d90d2cfec0ac8a
CRs-Fixed: 3539444
2023-06-29 18:14:20 -07:00
Liangwei Dong
2958ab1b39 qcacld-3.0: Handle link id bitmap from set link state response
Convert link id bitmap to vdev bitmap and update policy mgr
connection table.
Record the current force link command state to mlo context.

Change-Id: I0b28222de10a9493a153ee00189b87e4275a4231
CRs-Fixed: 3515467
2023-06-28 05:04:46 -07:00
Krupali Dhanvijay
026c0f435f qcacld-3.0: Reset CPU frequency in HO failure
CPU min frequency is boosted to maximum once roam start is received.

Add API to reset CPU frequency in case of HO failure.

Change-Id: Ib59d4d69a68f311dbb01609e7f5f64c307fcedc2
CRs-Fixed: 3522942
2023-06-26 03:21:37 -07:00
Surya Prakash Sivaraj
8169b54f12 qcacld-3.0: Parse SSID IE properly during roam
The roam candidate frame event gives the beacon of
the roam candidate. The SSID IE check expects minimum
size of the SSID to be 2 bytes. Because of this, the
candidate with ssid size 2 or less is not cached to
the scan table.

Fix this by not considering the size of the SSID IE.

Change-Id: Ifbe36ac8cf0f9c75a3830a2826f5330fa300df5b
CRs-Fixed: 3512310
2023-06-22 12:49:01 -07:00
Surya Prakash Sivaraj
5f79c535ac qcacld-3.0: Enable RSO for SL open connection
Driver doesn't enable RSO currently for SL + Open auth cases.

Enable the RSO from connect complete path for open auth. Add changes
to enable the RSO only after all the ML links are up in case of
N-link MLO.

Change-Id: Ie3540493660e3605fe6739dc6d7706782b8a78ea
CRs-Fixed: 3509724
2023-06-22 06:06:28 -07:00
Jianmin Zhu
5ab6ec7f8b qcacld-3.0: Fix roam scan channel list trimmed after roaming
When roamed from mlo to single link, link vdev1 disconnected, assoc vdev0
RSO is disabled, after vdev1 disconnected, even vdev0 RSO is enabled again,
roam scan channel list is trimmed.

To fix it, when link vdev disconnect, just stop RSO, don't disable RSO,
roam scan channel list won't be trimmed.
Disable RSO only when assoc vdev disconnect.

Change-Id: Ie624cffa3acaebcd73abb7be54ce1016e88447f6
CRs-Fixed: 3522793
2023-06-20 09:58:27 -07:00
Vijay Patil
68badfb043 qcacld-3.0: Add fix to avoid memory leak in mlo_roam_copy_reassoc_rsp()
In current scenario during OWE roaming when HB failure occurs, it
should clean copied reassoc response and roaming info. But it is not
getting freed which leads to host driver crash while on idle shutdown.

In mlo_roam_copy_reassoc_rsp() memory is allocated for
sta_ctx->cpied_reassoc_rsp, sta_ctx->cpied_reassoc_rsp->roaming_info
and connect_ies->assoc_rsp.ptr but if memory allocation fails for
these it directly retuning without feeing previously allocated memory.

Add change to free the prevoiusly allocated memory if memory
sta_ctx->cpied_reassoc_rsp->roaming_info and connect_ies->assoc_rsp.ptr
fails to allocate memory which avoid the memory leak issue.

Change-Id: I7ca6ee526bf08c614ff25e4c3457db0dd58fc9aa
CRs-Fixed: 3507296
2023-06-20 06:38:51 -07:00
Ashish Kumar Dhanotiya
e59e1f0884 qcacld-3.0: Add feature capability support for ll_lt_sap
Currently there is no feature capability support for ll_lt_sap
and host driver and user space assumes that support for ll_lt_sap
is always present which not always true.
This may result in unexpected behavior if firmware does not
support ll_lt_sap.
To address this issue, add a feature capability to indicate
to userspace if host driver and firmware supports ll_lt_sap.

Change-Id: I7fbdb1996cab473f7a89761a35b6859fd2729c0a
CRs-Fixed: 3521091
2023-06-16 15:02:44 -07:00
Aditya Kodukula
7028b37955 qcacld-3.0: Fix typographical errors
Fix typographical errors spanned over various files in cld.

Change-Id: I82a7eec4335d617a43c89589418a21885074fde0
CRs-Fixed: 3529627
2023-06-15 21:23:48 -07:00
Paul Zhang
aa2dd85155 qcacld-3.0: Add logic enable EPCS by uplayer
EPCS feature is controlled by uplayer to enable or disable.

Change-Id: I25c4a48db92cecccfe0b605dfc76ac1575efb464
CRs-Fixed: 3521121
2023-06-15 16:31:13 -07:00
Rachit Kankane
5e32b65f93 qcacld-3.0: Channel width from peer phymode
Add MLME API to get channel width for STA / P2P-CLI mode
from peer phymode

Change-Id: Iffef01b5fe0ad603ae3b75a659144c3fdcc23a02
CRs-Fixed: 3529931
2023-06-14 20:25:41 -07:00
Surya Prakash Sivaraj
aaae25f8ab qcacld-3.0: Make ssid whitelisting per vdev
Whitelist SSIDs are configured per netdev.

Therefore, move the ssid white list configurations
from psoc level to per vdev level.

Change-Id: Ia555f0c15362099afaae562a2779f7c26c1f4fe5
CRs-Fixed: 3510816
2023-06-09 23:58:47 -07:00
Pragaspathi Thilagaraj
98481d3bd6 qcacld-3.0: Populate assoc link id in join request
Populate assoc link id in join request from scan entry self
link id

Also check if vdev is MLO vdev before copying partner info
to join req from connect request

Change-Id: I0ddff6e4b0b312e94e42977ea472ee94ac6e919e
CRs-Fixed: 3523640
2023-06-09 23:58:31 -07:00
Jianmin Zhu
fb57957fe3 qcacld-3.0: Fix FW assert for RSO disabled before stopped
During roaming sync, disconnect happens from osif for some reason,
RSO_STOP is dropped for reason
RREASON_DRIVER_DISABLED/REASON_ROAM_STOP_ALL,  RSO_DISABLE is sent to
F/W for different reason REASON_DISCONNECTED. RSO_DISABLE happened
without RSO_STOP before,  so F/W assert.

To fix it, for disconnect from osif, set RSO_STOP reason as
REASON_DISCONNECTED, same as RSO_DISABLE REASON_DISCONNECTED, then it can
be sent to F/W during roam sync.

Change-Id: Ie0c63bd735a231e61cca1eb7bbc6d785f2860f53
CRs-Fixed: 3520269
2023-06-09 13:49:28 -07:00
Surya Prakash Sivaraj
c1d792ec75 Revert "qcacld-3.0: Enable netdev queues before sending ROAM_SYNC_COMPLETE"
This reverts commit Ib05ca01892b6d8b62badcafb64bb8c16270ee9f8.

Change-Id: I2a464e1e321328ae01fa816164ca4c523d6e07d6
CRs-Fixed: 3520779
2023-06-08 20:46:17 -07:00
Pragaspathi Thilagaraj
15bc1d6db6 qcacld-3.0: Fill join request from cm vdev connect request
Currently driver fills join request from cm_vdev_connect request
and cm_vdev_connect request is filled from connect request.

Fill join request directly from cm vdev connect
request and update the vdev connect request from scan entry for
assoc vdev and for link vdev copy populate the connect request
directly from cm_connect request.

Change-Id: I408eb8044e96437558666a1948233a0df30bfd22
CRs-Fixed: 3516716
2023-06-08 05:08:50 -07:00
Paul Zhang
819d501a20 qcacld-3.0: Add WMM vendor IE support for EPCS
Add WMM vendor IE support for EPCS.

Change-Id: Ibc68b58df6844cddfb10ded1a4b611fb1f2af474
CRs-Fixed: 3517608
2023-06-07 07:00:35 -07:00
Paul Zhang
2d474a4947 qcacld-3.0: Add code to process EPCS logic
Add code logic to process EPCS (Emergency Preparedness
Communications Service).

CRs-Fixed: 3511102
Change-Id: I8ed0b98beede5d06b2a118bf8d26af41d9207c64
2023-06-07 04:31:01 -07:00
Rachit Kankane
29fa4e5ac8 qcacld-3.0: Set max supported BW for STA
Set MAX supported BW for STA so that the device can connect
to APs which are advertizing 20 MHz in beacons but increases
in association response and next beacon.

Change-Id: I8ed418382f696c7461235996c4e90201cafafcb3
CRs-Fixed: 3415718
2023-06-05 03:39:38 -07:00
Vijay Raj
f1e696de2b qcacld-3.0: Modify diag connectivity logging for P2P
In p2p mode, the connectivity logs were logged.

Modify diag connectivity logging in order to not log in
p2p mode

Change-Id: I540b29cb117e77aea4283e4fec51517827b15378
CRs-Fixed: 3515702
2023-06-03 18:17:54 -07:00
Sheenam Monga
f2c84fdaac qcacld-3.0: Clean up roam_scan_period_after_inactivity
Cleanup roam scan period after inactivity timer.

Change-Id: Idba15ef9c41fdfe339e24df4ec87a66277986ee3
CRs-Fixed: 3515188
2023-06-02 20:37:26 -07:00
abhinav kumar
966ceefe89 qcacld-3.0: Process get cu_req for 2 GHz band connection
Process GET_CU_FOR_EACH_SUB_BW request from the upper
layer in case DUT is connected with a channel width
of 40 MHz and the connected frequency is in the 2 GHz
band.

Change-Id: Idc748f83af72baed946340c61d5c6a0bba1baf00
CRs-Fixed: 3506871
2023-06-02 16:47:56 -07:00
Deeksha Gupta
1c29ae50af qcacld-3.0: Update assoc_link_id in case of single link MLO connection
Currently, in cm_vdev_join_req, driver does not update the assoc_link_id
when connection is SLO.

Fix is, driver should update the assoc_link_id in case of SLO.

Change-Id: I50e4834b77e87df34327f6825778fc460641afa9
CRs-Fixed: 3509965
2023-06-01 09:39:04 -07:00
Ashish Kumar Dhanotiya
2598f91cea qcacld-3.0: Add logging infra for LL_SAP component
Crrently there is no logging infra for LL_SAP component.
With this change add logging infra for LL_SAP component.

Change-Id: I66c43493523856efaf23c4f4e79c1e96d0536fba
CRs-Fixed: 3499749
2023-05-30 19:14:09 -07:00
Bing Sun
9e659f01b9 qcacld-3.0: Set link id correctly for roaming
When handle FW roam sync event, reset link id of every vdev in the MLO,
then set correct link id for the vdev according to roam offload sync
indication event. Otherwise link id may be invalid in vdev.

Change-Id: I91b36d154ab3115815211698b6c5237a3bfa1f5f
CRs-Fixed: 3512507
2023-05-30 16:56:10 -07:00
Ashish Kumar Dhanotiya
b1fac44abe qcacld-3.0: Create new component for low latency sap
This change creates a new component for low latency SAP
and also does the init and de-init of this new component.

Change-Id: I4a8192feb6edb30b1898ef30675cbc01235a8e42
CRs-Fixed: 3482510
2023-05-30 10:21:33 -07:00
Arun Kumar Khandavalli
cc42fce760 qcacld-3.0: Log AP link_id to the connect information log
Log the AP link_id as part of the connect information log which helps
in debugging.

Change-Id: I5244e6c1d2cec905005515078839c0feda721a29
CRs-Fixed: 3508511
2023-05-30 06:05:35 -07:00
Surya Prakash Sivaraj
723506a226 qcacld-3.0: Enable netdev queues before sending ROAM_SYNC_COMPLETE
Upon the completion of roam sync indication event, the
roam sync complete cmd is first sent to the firmware.

This is followed by the netdev queues enable. This
approach adds latency in the first downstream tx frame,
and the FT roaming KPI is not met due to this latency.

To fix this, if roam sync handling is successful, enable
the queues and then send roam sync complete to the firmware.

It's observed that the current change improves roaming
latency by 6 msec.

Change-Id: Ib05ca01892b6d8b62badcafb64bb8c16270ee9f8
CRs-Fixed: 3483751
2023-05-30 02:57:15 -07:00
Gangadhar Kavalastramath
c62db467f7 qcacld-3.0: Remove self reassoc code in LFR2
On reception of reassoc req from user space to the
connected AP, wlan driver proceeds with reassociation
without clearing the keys. This leads to encrypted EAPOL
frames in LFR2. To avoid this, trigger disconnect & delete
keys before proceeding with reassociation.

Change-Id: Ib287b5d43ae69a7696a28f0e59347c7376d581c3
CRs-Fixed: 3505422
2023-05-25 10:09:41 -07:00
Amruta Kulkarni
0e0878c654 qcacld-3.0: Parse T2LM IE in Association Response
Add support to parse t2lm ie from association response frame
and store in mlo dev context. Once all links are up
the t2lm configuration will be applied.

CRs-Fixed: 3449605
Change-Id: Icd1f3c9bbdfbe1c2a8bfe119d92d6e686e21a7fd
2023-05-24 21:39:49 -07:00
Srinivas Dasari
6c5a645cbe qcacld-3.0: Fetch freq from roam_sync ind for non-11BE platforms
Currently, mlo_roam_get_link_freq_from_mac_addr() returns 0 for
non-11BE platforms. Valid freq is present in roam_sync indication
and return the same.

Change-Id: I7156adadae9303257bf96e91e4cb8b5d11706104
CRs-Fixed: 3502610
2023-05-23 19:53:39 -07:00
Bing Sun
b1586c23fb qcacld-3.0: Do not release vdev reference if vdev is NULL
In wlan_cm_get_associated_ch_width, if vdev is NULL, which means
reference is not gotten. do not call wlan_objmgr_vdev_release_ref.
Otherwise there is QDF ASSERT.

Change-Id: Id1cc2be3869ad555ebeb1c91a4b5f75d499e70ac
CRs-Fixed: 3503877
2023-05-22 20:14:55 -07:00
Bing Sun
8fae636f18 qcacld-3.0: Fix OWE MLO roaming
When roaming from OWE SLO to OWE MLO, host considers it as SLO roaming,
although FW sends both assoc link and partner link information to host.

Currently host adds partner link to sta_ctx->wlan_connected_links in
mlo_roam_update_connected_links, since it already receives partner
link information from FW. Then RSO fails to translate to stop state in
cm_fw_roam_complete because partner link is not up.

To make RSO state translation work, host need add partner link to
sta_ctx->wlan_connected_links when partner link connection is
triggered, which is mlo_roam_prepare_and_send_link_connect_req.
Do not add partner link to sta_ctx->wlan_connected_links in
mlo_roam_update_connected_links.

When roaming from OWE MLO to OWE MLO, host triggers disconnection in
partner link, which should not enable roaming in connected STA.

Change-Id: I99938a0805d60287eb2714e5d271579ac2fb4aeb
CRs-Fixed: 3498822
2023-05-22 18:29:41 -07:00
abhinav kumar
5e17372c8c qcacld-3.0: Post disconnection DUT should connect in max BW
Scenarios are:
    1. Connect to AP in HE80/HE160
    2. Set the bandwidth to 20 MHz (SET_MAX_BANDWIDTH 1)
    3. Disconnect from AP
    4. Reconnect to AP.
    5. AP should be connected to the max bandwidth.

To fix this, host should update channel bandwidth to
the max supported bandwidth on disconnection.

Change-Id: I139d082ca4e4950d760f1da074dbcc021fb8a9e1
CRs-Fixed: 3491677
2023-05-18 09:36:26 -07:00
Amruta Kulkarni
282ef0220d qcacld-3.0: Fixes in populate T2LM frame and clear negotiation
1. While populating t2lm ie use dynamic memory allocation
instead of static and free after usage.

2. If AP rejects T2LM action req frame, sends status code
anything other than 0(success) or 134(preferred mapping),
clear ongoing negotiation.

Change-Id: I50fbf34f3e95bbeaf13c2e1a74374b22837dffa8
CRs-Fixed: 3496677
2023-05-16 09:15:50 -07:00
Srikanth Marepalli
ccc0cee97d qcacld-3.0: Send the 6 GHz channel in WMI_ROAM_CHAN_LIST
When the Intra band INI is enabled and the STA connected in 6 GHz
band the channel count and frequency are not sent in the
WMI_ROAM_CHAN_LIST command as the band is not defined or unknown.
As a result of this DUT is unable to trigger partial roam scan in
the current connected 6 GHz channel and does a full roam scan.

Add the 6 GHz band check in the Intra band enabled case.

Change-Id: I765c233d1e6bf71cab186041ebd7df2293be6f05
CRs-Fixed: 3469197
2023-05-14 13:37:24 -07:00
abhinav kumar
6f8d32955c qcacld-3.0: Update roam scan freq list on connection failure
Host sends roam scan offload channel list via WMI_ROAM_CHAN_LIST
to FW after a successful connection.

The host creates a ROAM_SCAN_CHAN list with BSSID entries present
in the scan database. If the connection to an AP fails due to
Auth/Join/Assoc timeout, Host removes the AP entry from the Scan
database, assuming it’s not reachable (to avoid reconnecting to the
AP as it's not responding). Due to this, FW does not include the
frequency(s), for which the connection failed, in roam scan.

Fix is to store the frequency(s) of all the candidates to which the
driver tried connection in the rso config during connect resp failure
and use the same list to update the roam channel list on the top of
entries present in scan db.

Change-Id: I7a4bb3961a64fcf987cb6f2be87b6475363d500a
CRs-Fixed: 3486154
2023-05-11 09:00:22 -07:00
Srikanth Marepalli
59bf42fbdb qcacld-3.0: Notify TDLS disable to FW only after deleting the peers
With the commit(Ic425cc065a29bbc444531f523eaccb14014ae47a) driver
enqueues the TDLS peer deletion as part of roam sync indication
and then enqueues the TDLS disable notify to firmware. But before
this driver is processing the TDLS enable notify which is part of
add_sta and then the TDLS disable is getting processed and
notified to firmware, which results in disabling the TDLS after
roam.
The correct sequence during roam should be delete the TDLS peers,
followed by TDLS disable notify to FW and then TDLS enable notify
to FW.
Driver already take care of deleting the TDLS peers as part roam
sync indication callback. This change calls the TDLS disable
notify API only after deleting the TDLS peers during roam.

Change-Id: I58ef78852290c95e6709e6aa1b0671916322625f
CRs-Fixed: 3486585
2023-05-11 06:31:07 -07:00
chunquan luo
cae0b75f8b qcacld-3.0: Change roam background scan abort log
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
2023-05-09 19:26:55 -07:00
Abhishek Singh
6d513e3e0d qcacld-3.0: Fix cm req accessed outside cm req or CM lock
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
2023-05-09 13:33:23 -07:00
Amruta Kulkarni
86e9bf96dd qcacld-3.0: Add support for t2lm send action req frame
Add support to handle mlo link disable event and
send t2lm action frame.

Change-Id: I0b620c17fbb89b89d4d03cd55b1a6f41d28d6c2b
CRs-Fixed: 3470960
2023-05-09 01:48:21 -07:00
Amruta Kulkarni
8e9674f1a0 qcacld-3.0: Send roam invoke request if no scan candidate found
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
2023-05-08 06:42:58 -07:00
Amruta Kulkarni
24a9f574fb qcacld-3.0: Clear previous peer level t2lm negotiation
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
2023-05-08 04:07:26 -07:00
Vijay Raj
fb8e6d4f3e qcacld-3.0: Remove unused legacy logging for BTM event
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
2023-05-05 01:56:23 -07:00
Vijay Raj
07156c60b8 qcacld-3.0: Remove legacy roam connectivity logging mechanism
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
2023-05-05 01:56:17 -07:00
Jyoti Kumari
a551e66960 qcacld-3.0: Check whether vdev supports mlo cap or not
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
2023-05-04 11:34:42 -07:00
abhinav kumar
076551fd20 qcacld-3.0: Update subband CCA busy info to HDD
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
2023-05-03 04:57:43 -07:00
Vijay Raj
a2cce9674c qcacld-3.0: Remove unused legacy logging for Roam scan events
Diag logging is used for connectivity logging of roam scan
start event and roam roam scan done event.

Remove unused legacy connectivity logging mechanism for
roam scan start and roam scan done event.

Change-Id: Icaebf0486081508e56937ee13bb8d4d33a342d79
CRs-Fixed: 3470140
2023-05-01 12:09:30 -07:00
Amruta Kulkarni
adef8d5e58 qcacld-3.0: Stop t2lm timer during disconnection
Add support to stop t2lm timer during sta disconnection
and clear t2lm mapping.

Change-Id: I59e724331eda8b67fd1405031bdb00d12805ad09
CRs-Fixed: 3479496
2023-04-29 07:18:10 -07:00
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