Commit-Graf

3759 Incheckningar

Upphovsman SHA1 Meddelande Datum
Vinod Kumar Pirla
8f0311f304 qcacld-3.0: Copy partner info to MLO sta context on roam
Link switch uses cached partner links info in mlo_sta_ctx,
currently during roaming as partner links info is not filled
then link switch fails during connect.

Copy partner links info to sta context in mlo dev ctx on
roaming.

Change-Id: Ie513173f0ccdc39f46be5cf4af11021abe5950aa
CRs-Fixed: 3695386
2024-01-02 01:33:38 -08:00
Vijay Raj
24da60d78f qcacld-3.0: Avoid repeated BTM connectivity log in full scan case
In the api cm_roam_btm_req_event(), BTM request and
BTM Candidate Connectivity logs are printed for both
partial and full scan when disassoc_imminent is set for BTM
roam trigger. But actually, over the air frame was received
only once on the device.

So to avoid BTM frame logs duplication,
ignore the BTM request frame TLV & btm candidate TLV received from
firmware after BTM roam trigger with disassoc imminent set.

Change-Id: I7d8cf4a4f0c7e2ee7958ae3fc309f14890c2fd33
CRs-Fixed: 3675909
2023-12-29 07:02:46 -08:00
Vijay Raj
3bf9181471 qcacld-3.0: Modify Connecting event to log for No candidate scenario
"CONNECTING" connectivity event is not logged during
NO CANDIDATE scenario which resulting in breaking of
connectivity logging mechanism.

Modify wlan_connectivity_connecting_event() api
to get connect request parameter as argument in
order to log CONNECTING event.

Change-Id: I040446db189c55ade3c6d0aa993388789f9881af
CRs-Fixed: 3678172
2023-12-29 07:02:39 -08:00
Vijay Raj
5e6d32dccc qcacld-3.0: Modify MLO LINK status log to include supported link
For MLO LINK connectivity log, the links not associated
during connection are also included as part of
inactive links which breaks the sanity of logging
mechanism.

Modify MLO LINK connectivity event to send the
associated link band bitmap in order facilitate
userspace to find links associated in current
connection and in turn find the inactive links
in a particular instance.

Change-Id: I7a490e9bf8a6666620d1c57b9f8047a22bf78fc5
CRs-Fixed: 3674048
2023-12-29 07:02:33 -08:00
Jianmin Zhu
336cae1135 qcacld-3.0: Don't config high RSSI trigger if self MLD roam supported
After roaming to 2+5 MLO AP, MLD high RSSI roaming trigger is
getting disabled if assoc link is on 5 GHz.

To fix it, if self MLD roaming is supported, then don't enable
high rssi roaming trigger for 2.4 GHz link and disable it for 5
GHz link after roaming is competed.

Change-Id: I4c02cb2c946d97884fbc0d6cc513c585c21b9548
CRs-Fixed: 3670241
2023-12-29 04:00:19 -08:00
Jianmin Zhu
c1bcfdb534 qcacld-3.0: Stop periodical pdev stats report when stop monitor mode
Send periodic fw stats to get chan noise floor when monitor mode
start, but not stop it when  monitor mode stop,
pdev stats event is received even when event handler unregistered,
race condition lead to assert.

To fix it, when monitor mode stop, stop periodical pdev stats report
first.

Change-Id: I58a0ced84aca74a7228064067bb096803cf952fd
CRs-Fixed: 3667212
2023-12-29 04:00:12 -08:00
Jianmin Zhu
8ba5d61b6e qcacld-3.0: Fix not able to use ipv6 when connect mlo AP
Host filled link address in the NS tuple, DUT sent NA frame with link mac
addr, not MLD addr.

To fix it, let host fill MLD address in the NS tuple for MLO vdev.

Change-Id: I863dc6184c59ee06950e4aa2287d4d4a6ff30b5c
CRs-Fixed: 3693220
2023-12-29 04:00:04 -08:00
Jianmin Zhu
f7fc5bc815 qcacld-3.0: Check whether p2p device dynamic mac update supported
If F/W doesn't support p2p device dynamic mac update, after dynamic mac
update, p2p tx will fail.

Check whether p2p device dynamic mac update supported by target, if not
supported, reject p2p device dynamic mac update request from upper layer.

Fix warning of uninitialized status.

Change-Id: I845bd9683f2b68c3ed28292917601fdefed13f72
CRs-Fixed: 3680411
2023-12-28 13:00:38 -08:00
Vijay Raj
8a10d00029 qcacld-3.0: Modify band_mask in cm_roam_scan_info_event
In api cm_roam_scan_info_event(), band_mask is updated
for ROAM_STATS_SCAN_TYPE_HIGHER_BAND_6GHZ and
ROAM_STATS_SCAN_TYPE_HIGHER_BAND_5GHZ_6GHZ. But
the band mask is truncated for ROAM_STATS_SCAN_TYPE_FULL.

add check in api cm_roam_scan_info_event() to update
band mask only for scan type
ROAM_STATS_SCAN_TYPE_HIGHER_BAND_6GHZ and
ROAM_STATS_SCAN_TYPE_HIGHER_BAND_5GHZ_6GHZ in order
to prevent the band mask from truncating for
ROAM_STATS_SCAN_TYPE_FULL.

Change-Id: I3e85c87e3e304d0c4d4ae311c7be1939e73d05df
CRs-Fixed: 3666578
2023-12-27 09:35:29 -08:00
Vijay Raj
f2419e60c1 qcacld-3.0: Add support to disable MLMR mode in ULL mode
Add ini support to forcefully disable MLMR mode in Ultra low
latency mode.

Change-Id: If524e5d2a2b3bc88fe9a3f096e24a8023bc4366f
CRs-Fixed: 3689784
2023-12-27 07:30:20 -08:00
Pragaspathi Thilagaraj
fd744a4b58 qcacld-3.0: Stop TDLS peer timers upon STA disconnection
TDLS peer_update_timer and peer discovery timers are not stopped
upon sta disconnect.
So while the handler is invoked upon timer expiry, the
vdev could have been already deleted. This could result in
null pointer dereference of vdev while trying to get
TDLS vdev objects.

Since the timer is not required upon sta disconnection and
peer will already be deleted, stop the timer upon STA
disconnection itself, instead of doing it during vdev
destroy.

Change-Id: I3c405b3e7b57d25a7d1afbf6c93476271a29a6b8
CRs-Fixed: 3673078
2023-12-26 22:10:03 -08:00
Sheenam Monga
4bce8122a0 qcacld-3.0: Don't set link_agnostic to true if dest addr is not AP addr
Currently, mlo_link_agnostic is set to true without validating
destination address which means FW is free to choose
transmission link L0 or L1 due to which GAS frame TX is failing.

Fix is to set mlo_link_agnostic to false when dest address is not
AP address, so that FW can choose freq as per channel which is
sent as part of mgmt frame.

Change-Id: Icacc4ce06b0eda341342ac1cdcf347de74e59e39
CRs-Fixed: 3666152
(cherry picked from commit d3cbd7154a31479cb79230643a0a8818b41d2a67)
2023-12-26 22:09:56 -08:00
Liangwei Dong
7a843bc437 qcacld-3.0: Add vendor command support for query TPC information
Add support for QCA_NL80211_VENDOR_SUBCMD_REGULATORY_TPC_INFO vendor
command to return the STA TPC information used within the BSS.
If STA is ML STA, multiple link TPC information will be returned to
userspace.

Change-Id: I6fd30893c057c876e9a01e112595e5cb0c906a70
CRs-Fixed: 3665538
2023-12-25 16:57:18 -08:00
Srinivas Dasari
968eda09bc qcacld-3.0: Drop BTM frames from MBO AP without PMF support
Currently, host disables btm_offload feature if the connected AP
supports MBO/OCE but not PMF. Firmware doesn't process the btm
requests received from AP in such cases and forwards the same
to host. Host forwards them to userspace. But userspace may not
expect these frames as roaming is offloaded to firmware.

Drop the BTM request frames in driver for LFR3 cases when the
connected AP supports MBO without PMF.

Change-Id: I35800ff31f8a48d12eb57cdd36856fdef2b53b8e
CRs-Fixed: 3687371
2023-12-22 15:38:47 -08:00
Vinod Kumar Pirla
0b6df7dbe9 qcacld-3.0: Restrict three link connection on certain vendor APs
Identify APs which don't support three links and downgrade the
max connection links to two so that connecting to such APs will
not lead to unexpected behavior.

Change-Id: I25d2c0fd09e29b6f0cc2d228e52733bcbceb39fd
CRs-Fixed: 3636112
2023-12-21 04:34:33 -08:00
Asutosh Mohapatra
10f61fa73b qcacld-3.0: Handle ho failure for STA + STA roaming
Currently for STA + STA case, consider the below scenario:
1. Roam start received on vdev 2 & vdev 0. Vdev 2 roam
   serialization command becomes active and vdev 0 roam
   command is on the pending queue.
2. HO failure with AP0 received on vdev 2. This dequeues
   the vdev2 roam serialization command. Vdev0 roam command
   becomes active.
3. Roam synch indication received on vdev0 with peer AP as
   AP0 (which is the peer on vdev 2). So duplicate detection
   logic prevents same peer creation, so roam synch fails but
   its not indicated properly to firmware. This leads to
   disconnection of both the STAs.

To address the issue, first enqueue disconnect with high
priority set before removing roam command from serialization
so disconnect gets activated if roam was active for the
vdev.
Also while processing roam synch indication, check if peer is
found on different STA and send roam stop to fw so fw also
cleans up and initiates HO failure.

Change-Id: Iddeddcde782b936dc2ea4b8f32fd0be3c0ced591
CRs-Fixed: 3686114
2023-12-21 02:22:12 -08:00
Srinivas Dasari
45783fe883 qcacld-3.0: Don't send RSO_STOP if it's already sent
Currently, RSO_STOP is sent to firmware if ROAM_SYNC is aborted
due to some reason. Host doesn't check for the current state of
RSO state machine and may send the RSO_STOP twice. Firmware
responds with SUCCESS for the second request and driver
continue to cleanup peer/vdev assuming that it's a normal
RSO_STOP response. This results inconsistency in firmware
as it might be in the middle of peer/vdev cleanup and
leads to ASSERTION.
Check for the RSO state machine status and avoid sending
RSO_STOP twice.

Change-Id: I87cdb4a682095772070a839bbb86e56a9450b299
CRs-Fixed: 3677172
2023-12-19 00:21:07 -08:00
Asutosh Mohapatra
a901bcc17e qcacld-3.0: Send additional interface combinations to fw
As part of set feature set command, update STA_P2P,
STA_SAP, STA_NAN, STA_TDLS, STA_SAP_P2P, STA_SAP_NAN,
STA_P2P_NAN, STA_P2P_TDLS, STA_SAP_TDLS, STA_NAN_TDLS,
STA_SAP_P2P_TDLS, STA_SAP_NAN_TDLS, STA_P2P_P2P_TDLS,
STA_P2P_NAN_TDLS iface combinations to fw.

Also use WLAN_FEATURE_NO_P2P_CONCURRENCY sta dual p2p
support combination.

Change-Id: I315c219f79995dedb0c2856d326838351d8a3d5e
CRs-Fixed: 3674696
2023-12-14 09:10:17 -08:00
Yu Tian
015848b43a qcacld-3.0: debug change to print HP/TP before in TXRX drain
Before suspend, output HP/TP value to make sure there
is nothing pending in RX rings.

Change-Id: I25312b5837ce2edfd43a0f70bda32842a95c5ed6
CRs-Fixed: 3648777
2023-12-11 00:04:09 -08:00
Will Huang
6d94246820 qcacld-3.0: Add support of sending multiple COEX config
Add path from osif to target_if of sending multiple COEX config, and
whether send with new multiple COEX WMI CMD depends on WMI capability.

Optimize function hdd_send_coex_config_params() which has multiple
COEX config sending to target, use new multiple COEX config path.
Keep original legacy COEX function which is not included under
FEATURE_COEX.

Change-Id: Ibb2add908466915ad17204cb4a31a38d56446615
CRs-Fixed: 3651235
2023-12-08 01:19:26 -08:00
Liangwei Dong
4b57844470 qcacld-3.0: allow set link for MLSR in DBS rd
In DBS rd, SAP on 2.4 GHz, and ML STA on 5 GHz + 6 GHz. Driver
will force inactive one of link to inactive, for example 6 GHz link.
When user sets the 6 GHz link to active, current driver rejects.
Consider the SAP is on 2.4 GHz, MLSR can be switched between on 5 GHz
and 6 GHz, to allow such user request.

Change-Id: I32440d0c079b9a4bb9551087ecd959b3f9fc25c4
CRs-Fixed: 3675217
2023-12-08 01:19:18 -08:00
Jianmin Zhu
3bc76fab1b qcacld-3.0: Fix OOB when copy link beacon IE
Link beacon in roam sync frame event may be not for actual link when
roamed to 2+ link AP, then get right link beacon from scan cache, but
beacon size may be larger, if malloc buffer with link beacon size in roam
sync frame event to save beacon IE got from scan cache, OOB will happen.

To fix it, when malloc buf to save beacon IE during roaming, use max
mgmt mpdu size.

Change-Id: I08fc52ce26edc1f02365837a1ed7a632ed7c6706
CRs-Fixed: 3667410
2023-12-07 22:38:16 -08:00
Chunquan Luo
357d04615d qcacld-3.0: Add set bandwidth MLO 3links support
Driver cache all links channel bandwidth config from user space,
when link switch happened, and connect complete, send bandwidth
of the link id to fw.

CRs-Fixed: 3625801
Change-Id: I7d4a13075b62c9c8928d2c33bd309e9c5b085171
2023-12-06 10:54:45 -08:00
Srinivas Dasari
b5c25ebb68 qcacld-3.0: Deprecate values 1 and 2 for gWlanMccToSccSwitchMode
Currently, gWlanMccToSccSwitchMode has the below documentation,
gWlanMccToSccSwitchMode = 0: disabled.
gWlanMccToSccSwitchMode = 1: Enable switch.
gWlanMccToSccSwitchMode = 2: Force switch with SAP restart.
gWlanMccToSccSwitchMode = 3: Force switch without SAP restart.
...

But values 1 and 2 are not used and all platforms are adapted
to value 3. Usage of values 1/2 leads to the case where
connections are stuck in MCC.
Deprecate the same and overwrite it to 3 in host driver.

Change-Id: I036985c6cf33b975a726a3eee6d6562a869bbc60
CRs-Fixed: 3668491
2023-12-05 02:17:55 -08:00
Amit Mehta
51d026afd1 qcacld-3.0: Optimize rx packet flush logic
Currently during vdev delete host will flush threads in serial
order, which can take upto 20 seconds for 5 threads in defconfig
build (Per thread wait timeout is 4 seconds in defconfig build),
this is turn can result in timeout in caller function, which has
maximum wait timeout of 10 seconds.

To optimize first flush all the threads nbuf list, after
flushing all the thread nbuf list wait for event completion
on threads.

CRs-Fixed: 3673505
Change-Id: I0c2979e7b08f27872da048c4a709800fc46eb526
2023-12-04 16:14:24 -08:00
Aasir Rasheed
8ed2b0c87a qcacld-3.0: Refuse diag event when ml peer or link info is not valid
Currently, Host driver is sending EVENT_WLAN_MLO_LINK_STATUS
even when ml peer or link info is not valid.

This change is to refuse diag event when ml peer or link info is not valid.

Change-Id: Ie6dd16509954811f92b838c3be3d9e0f3a6759c2
CRs-Fixed: 3657297
2023-12-04 04:02:44 -08:00
Aasir Rasheed
a7bc75bb49 qcacld-3.0: Send enable/disable 5GL+5GH MLSR to fw
This change is to send enable/disable 5GL+5GH configuration to firmware.

Change-Id: I6e199bcc4a969efcc39fa31ff49e414bf1f5b52e
CRs-Fixed: 3667605
2023-12-03 11:43:23 -08:00
Arun Kumar Khandavalli
0348f36541 qcacld-3.0: Implement crypto locking mechanism
Implement a locking mechanism for retrieving and
storing crypto keys. Currently, due to race condition,
Host driver is fetching information in one thread while
simultaneously writing key information in another thread,
resulting in synchronization issues.

This change is to add lock mechanism while reading and writing
crypto keys.

Change-Id: I156b619cf7c3c052ad3122a6f808d732fb5e4f51
CRs-Fixed: 3672330
2023-12-02 08:15:04 -08:00
Liangwei Dong
e1e35f85c2 qcacld-3.0: Add set link source data structure
Add new data structure to save the external/internal set link
request. The different source of request has different priority.
In some situations, a certain request may not be honored if
it conflicts with higher priority request.

Change-Id: Ib95d0c688f92dcfc294702e7deb2e3b7da13f76c
CRs-Fixed: 3650630
2023-12-01 02:34:53 -08:00
Srinivas Dasari
2332eb23d0 qcacld-3.0: Maintain chan_switch_in_progress flag for MLD also
Currently, chan_switch_in_progress flag is maintained per vdev.
This info is needed at MLD level also to differentiate between
current MLD STA and concurrent STA. This can be used to decide
whether to allow link switch or not.
Also, don't process session beacon if link switch is in
progress to avoid CSA upon detecting any change in the Operation
IEs(HT_INFO/VHT_OP/HE_OP/EHT_OP, etc..).

Change-Id: I9cca40f4953a390c71758896097c6a119951abe7
CRs-Fixed: 3660868
2023-12-01 02:34:46 -08:00
Srinivas Dasari
591177a99b qcacld-3.0: Modify the min value of sae_auth_failure_timeout
Currently, the expected range of sae_auth_failure_timeout
is 500-1000ms. DUT sta retries SAE authentication frame if it
hasn't received response within the configured time. But there
can be APs where there might be a timeout at AP and AP proceeds
with next frame(SAE confirm response) if the previous frame
is not acked by STA or SAE confirm request is not received
within this time.
Custom platforms may want to address this by retrying more
aggressively, e.g. retry within 100ms.

Add provision for the same by making min value as 100 ms.

Change-Id: I09fa57808edc6c00bda2dbe5d988558c7ef48e17
CRs-Fixed: 3662150
2023-12-01 02:34:39 -08:00
Pragaspathi Thilagaraj
3d6edc5fb8 qcacld-3.0: Increment TDLS discovery attempts after tx completion
TDLS peer discovery count is incremented every time after
TDLS discovery frame is queued for the peer till max attempts
are reached. But sometimes due to host or firmware scan the
frames could get flushed and still the discovery attempts
counter is incremented resulting in reduced possibility of
discovering the peer.

So increment TDLS discovery attempts after successful
tx completion of the TDLS discovery frames.

CRs-Fixed: 3647289
Change-Id: I7e3fe1973b34276ed5ea20a7114f3635ed59c6ef
2023-11-29 08:07:31 -08:00
Srinivas Dasari
2e567abb85 qcacld-3.0: Pick matched channel from PCL for SAP restart
Currently, PCL carries the supported frequencies for SAP
restart as part of MCC to SCC switch. Policy mgr checks
if any frequencies from this list have to be filtered out,
i.e to avoid unsafe/dfs/6 GHz etc channels.
This works fine if the PCL carries only one frequency(non
multi-link STA case). But if STA is connected to an MLO AP in
multi link mode, the PCL carries two(could be more) frequencies.

First channel from PCL is picked for evaluation in
policy_mgr_get_sap_mandatory_channel(), which might be different
from the chosen frequency for chan_switch. Then it returns
different frequency than the chosen frequency(i.e. carried
through intf_ch_freq) by the caller. So, the caller thinks that
the filter API rejected the chosen channel and aborts channel
switch.

The expectation is to pick the preferred channel from caller
data(i.e. intf_ch_freq) if it's present in PCL. If intf_ch_freq
doesn't carry any valid frequency from PCL, first frequency can
be picked as per current logic.

Change-Id: Ib087b27b7149ff8cfe06e2ad7aa75099bba5085c
CRs-Fixed: 3668526
2023-11-28 04:07:57 -08:00
Aasir Rasheed
3ce28bb3b3 qcacld-3.0: Add config to enable/disable 5GL+5GH MLSR
By default 5GL+5GH MLSR is allowed if mlo_5gl_5gh_mlsr
is set to 1.

Change-Id: Ie881160900babc900e42007b9eb6bc2edb09cdec
CRs-Fixed: 3662634
2023-11-24 02:35:46 -08:00
Liangwei Dong
b1243a11ac qcacld-3.0: Enhance eMLSR connection check
In the roaming to eMLSR AP, fw may move the link to inactive
because concurrency not support eMLSR mode, the eMLSR cap in vdev
may not be properly set in one vdev in the middle of roaming.
Check inactive vdev as well for the eMLSR flag, if anyone vdev
have eMLSR return true for API policy_mgr_is_mlo_in_mode_emlsr.

Change-Id: Ia05200e16aae701c24e9d9c3a70c8139825db833
CRs-Fixed: 3647141
2023-11-21 22:22:26 +05:30
Gururaj Pandurangi
181340ab64 qcacld-3.0: Add new API to validate force active cmd
After 3-link association is complete, Host sends force
inactive num command between 5 GHz and 6 GHz links to
firmware. Later, if user wants to force enable 1 or 2
links, the current checks prevent it from taking effect
as a previous force active num is in place and a NO
FORCE command cannot be sent as it is a DBS RD.
So add new API in policy manager to check if the new
force active num command is valid and process accordingly.
All new force active num commands except for 5 GHz +
6 GHz links should be allowed while honoring the prior
force inactive bitmap as well.

CRs-Fixed: 3656412
Change-Id: Iecfca57d9b47acd31d191cca2632a6d1baf62174
2023-11-21 22:22:02 +05:30
Rahul Gusain
f5bb14f490 qcacld-3.0: Disable 3 port concurrency for 1x1 DBS target
Currently, host driver sends only 2 port interface combinations to
userspace based for non-DBS targets. But 1x1 DBS also does not
support 3 port concurrencies.

So, to fix this, disable the 3 port concurrencies for
1X1 DBS target also.

Change-Id: Ia70937a7875d11d3f852ca498c4f7d9415a6783b
CRs-Fixed: 3654683
2023-11-21 22:21:57 +05:30
Abhinav Kumar
653647521b qcacld-3.0: Invalid roam scan chan count in scan done event
Calculate valid number of roam scan channel count in case of
idle roam scan of type ROAM_STATS_SCAN_TYPE_HIGHER_BAND_6GHZ
or ROAM_STATS_SCAN_TYPE_HIGHER_BAND_5GHZ_6GHZ and send same
to upper layer via SCAN_DONE logging event.

Change-Id: If59c732c7efad78ef6e4b6b0ada48054f1d0252c
CRs-Fixed: 3652329
2023-11-21 22:21:41 +05:30
Manikanta Pubbisetty
836a18a866 qcacld-3.0: Check for NULL before accessing dp_ctx or DP soc
Check for NULL before accessing dp_ctx or DP SOC in
__dp_bus_bw_compute_timer_stop().

Change-Id: I0d2862c4688f83c3d5f561baaa6ce62e96cca9c3
CRs-Fixed: 3659080
2023-11-14 12:10:23 -08:00
Ashish Kumar Dhanotiya
ae748f6cf0 qcacld-3.0: Reject 4th port concurrency if LL_LT_SAP is present
Currently LL_LT_SAP does not support 4th port concurrency,
add a check in policy manager to reject 4th port concurrency
if LL_LT_SAP is present.

Change-Id: I57ed78c937935396f9001b867652cb7ee146c487
CRs-Fixed: 3658476
2023-11-14 12:09:55 -08:00
Ashish Kumar Dhanotiya
793694f8f7 qcacld-3.0: Add bearer switch WMI interface changes
When there are more than one audio transport mediums
are available, there is a possibility to switch the
audio transport medium from one medium to another
medium.
To provide this support to switch the audio transport
medium, and to indicate the status of the bearer
switch to fw, add WMI interface changes.

Change-Id: I236e2d9a954191c104d56d286332ace644190e6e
CRs-Fixed: 3653962
2023-11-14 12:09:28 -08:00
Abhinav Kumar
f8a690b38f qcacld-3.0: Add ini support to control update cw
Add support for INI update_cw_allowed to enable or
disable update channel width via vendor command
QCA_WLAN_VENDOR_ATTR_CONFIG_CHANNEL_WIDTH

Change-Id: I1f4ab2c7ca8dacb93442803336d59a4a5ffb1b47
CRs-Fixed: 3659655
2023-11-14 05:28:34 -08:00
Srinivas Dasari
214fe8654f qcacld-3.0: Avoid SAP bw downgrade when link switch is in progress
Currently, SAP bw gets downgraded(from 320 MHz to 160 MHz) when
link connect starts on a channel which causes DBS/SBS.

But SAP is not aware of the link that can cause DBS/SBS if it is
inactive as corresponding entry is not present in driver policy
mgr table. When link switch is triggered to a channel which
causes SMM to DBS/SBS hw_mode, SAP bw update algo gets triggered
as there is a new connect which causes split-phy mode. SAP bw
update algorithm need not be triggered upon link switch start and
can be triggered post link switch to avoid interrupting link
switch.

Currently, it doesn't differentiate between user connect request
and link switch connect request. Add a check and avoid SAP bw
update trigger link switch cases. Evaluate the links posts
connection and trigger bw update if needed.

Change-Id: I90f836c04d096dffb5b82c53166b18d2ba27a584
CRs-Fixed: 3649268
2023-11-14 05:28:08 -08:00
Surya Prakash Sivaraj
1a41444bf7 qcacld-3.0: Fix for Interop issue in hidden BSS
In hidden SSID case, some IOT AP does not respond to the
unicast join probe requests and this leads to continuous
connection failures. The same AP however responds to broadcast
probe requests. The host announces join success only if the
probe response is received for the hidden SSID connection.

To fix this, after sending 3 unicast join probe requests, send
the pending probe requests as broadcast to proceed with to get
a probe response.

Change-Id: I686cbabd3b1b3d355829bc682de5d631b1738d86
CRs-Fixed: 3647028
2023-11-14 05:28:02 -08:00
Pragaspathi Thilagaraj
b74100cbb7 qcacld-3.0: Send STA_INFO connectivity event after roaming
Driver sends STA_INFO event with self mac addresses for each link
before initial connection. With the new requirement to send the
STA_INFO after every roam to detect the change in mac address, add
the sta info call after reassoc response is received and roaming
status is successful.

CRs-Fixed: 3653662
Change-Id: I18ecbdfea47fb3524154f799ea0c4777276cb34a
2023-11-14 05:27:49 -08:00
Srinivas Dasari
eb4866aa31 qcacld-3.0: Try to re-enable roaming after SAP/P2P-GO is stopped
Currently, roaming gets disabled on STA when CSA is triggered
on concurrent SAP/P2P-GO and re-enabled once CSA is completed.
But SAP/P2P-GO might get stopped before CSA is completed.
Roaming is not re-enabled in such cases.
Try to re-enable roaming with reason RSO_SAP_CHANNEL_CHANGE once
SAP/P2P-GO stop is completed. Roaming gets enabled only if it's
disabled due to RSO_SAP_CHANNEL_CHANGE.

Change-Id: I57b192beda55673dbf80bed4eadbac70653d2cd1
CRs-Fixed: 3661380
2023-11-13 22:19:45 -08:00
Vinod Kumar Pirla
fa4c3646f1 qcacld-3.0: Avoid link VDEV key install for open mode
If connected in open mode, supplicant will not sent any
crypto keys so during link switch driver will not find any keys.
Currently driver panics if there isn't any key installed during
link switch but this is not applicable if the auth mode is open.

Don't check for keys to install if the current auth mode is open.

Change-Id: I6e0ed587f3e1e214eb6f65556de9aab4c09507dc
CRs-Fixed: 3651819
2023-11-13 01:35:09 -08:00
Rahul Gusain
995b7ffc4a qcacld-3.0: Add INI to enable/disable NAN EHT cap
As per new requirement, add INI parameter to enable/disable NAN
EHT capability.
Host driver checks this INI value to decide whether it need to
send EHT IE capabilities for NAN and NDI VDEV or not.

Change-Id: I056c174cbc9a7ed2cf6318e43ed431e6c6e5ed30
CRs-Fixed: 3657226
2023-11-12 15:21:48 -08:00
Ashish Kumar Dhanotiya
00924a2325 qcacld-3.0: Validate SAP/GO/LL_LT_SAP channels in LL_LT_SAP mode
Add separate APIs to validate SAP, P2PGO or LL_LT_SAP
channels according to LL_LT_SAP concurrency.

Change-Id: I180796df6b312f9bbb0a8e61085ca1517cd687b5
CRs-Fixed: 3647561
2023-11-12 15:21:42 -08:00
Asutosh Mohapatra
2aac379486 qcacld-3.0: Refactor set AP power type logic
Currently wlan_reg_decide_6g_ap_pwr_type is
getting invoked from south bound and north bound
callback path, because of this pdev channel
is computed unnecessarily two times and
the AP power type obtained is not used in
reg_populate_secondary_cur_chan_list.

To address these issues, set AP power type
while propagating master channel list to pdev and
use this power type value to populate secondary
channel list.

CRs-Fixed: 3609366
Change-Id: I5bdc69d42cd09c0d875b8fb55d14f6ee10a175b2
2023-11-12 15:21:35 -08:00