Commit-Graf

3795 Incheckningar

Upphovsman SHA1 Meddelande Datum
Vijay Raj
bef037cab0 qcacld-3.0: Modify bitmap to band conversion algorithm for advance logs
In the api wlan_convert_bitmap_to_band(), the bitmap
to band conversion algorithm evaluate 1st bit in the
bitmap as 2.4 GHz link instead of 0th bit.

Modify the bitmap to band conversion algorithm to
evaluate 0th bit for 2.4 GHz band instead of 1st
bit of the band bitmap received from FW.

CRs-Fixed: 3648693
Change-Id: I626d80991461c8757178116303f92f55be91db29
2023-11-06 06:50:02 -08:00
Vijay Raj
39ca2fc377 qcacld-3.0: Modify band info support for REASSOC connectivity log
In api cm_roam_mgmt_frame_event(), Band info fetched from
roam_frame_info tlv is overwritten with the band info
value of previous connected AP present in mlo_dev_ctx before
roaming resulting in incorrect data for the reassoc
connectivity logging.

Modify cm_roam_mgmt_frame_event() to populate the band info
received from roam_frmae_info_tlv to reflect current AP
band info.

Change-Id: I219d4803b856beb1d64e9c35da374071f09b1aea
CRs-Fixed: 3640898
2023-11-06 06:49:56 -08:00
Rahul Gusain
5adb10addb qcacld-3.0: Don't send zero ITO to target
Currently, userspace sends
"QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION" vendor command
for power configuration. With this vendor command, driver receives
the PS parameters which it sends it to the target. Usually,
inactivity timeout is 200ms, but in some scenario, if driver send
the inactivity timeout as zero, then it causes crash in target as
target expects non-zero value.

Scenarios:
1. Userspace updates inactivity timeout to zero.
2. For OPM mode as disable(0) or enable(1), driver updates the PS
params to zero. So, inactivity timeout is zero.

So, to fix this, return invalid if userspace send ITO value as zero
and update vdev PS params for OPM mode as user defined(2).

Change-Id: I120829f12ed350ad7ad0bfb983ad49087dea4fc8
CRs-Fixed: 3653524
2023-11-06 06:49:42 -08:00
Ashish Kumar Dhanotiya
1b0e9d3be0 qcacld-3.0: Get channel list for LL_LT_SAP 3 port concurrnecy
Add changes to get PCL for LL_LT_SAP 3 port concurrency.

Change-Id: I25f58e18a98669f05b3660f8398ff6db2ee69801
CRs-Fixed: 3647158
2023-11-04 10:07:26 -07:00
Surabhi Vishnoi
fb43489d22 qcacld-3.0: Do not fill TX flags for RX data and mgmt pkts in pkt capture
Currently, add_rtap_ext flag which is used to update the tx_flags in
radiotap header is set for both TX and RX data/mgmt packets which
is wrong.

This change fixes the code to not set the add_rtap_ext flag for RX data
and management packets so that tx_flags is not filled in radiotap header
of RX data and management packets.

Change-Id: I9c5a28c9bd47c2567af5ddb3e8e9c95463fe710f
CRs-Fixed: 3639248
2023-11-03 10:05:07 -07:00
Ashish Kumar Dhanotiya
8e24914e33 qcacld-3.0: Reject STA initial connection and STA on LL_LT_SAP freq
LL_LT_SAP does not support SCC, so to avoid this, reject initial
STA connection and CSA on LL_LT_SAP frequency if STA receives CSA
on LL_LT_SAP frequency.

Change-Id: Iaa4546bbbc242aa8fc9580d1a8a2728b197457d0
CRs-Fixed: 3654643
2023-11-03 10:04:53 -07:00
Pragaspathi Thilagaraj
122f07d957 qcacld-3.0: Don't move SAP to user configured frequency
When SCC_MCC switch mode is configured as:
QDF_MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNEL, then when
concurrent STA is disconnected, don't move SAP to user
configured frequency even if the SAP is currently on
different band as the user configured frequency band.

Change-Id: I287fdf51bba2ca98bf6048694c03fafc114340da
CRs-Fixed: 3645514
2023-11-03 10:04:46 -07:00
Srikanth Marepalli
b1e3fd5c90 qcacld-3.0: [11ABG] Add dot11mode changes to support 11abg
Add new dot11mode in MLME and update the utility functions to
derive the dot11mode based on the INI config and AP dot11 mode.

Change-Id: Ic53ab0cdd94dce75d6928270bc8bf4f8539ac96f
CRs-Fixed: 3653767
2023-11-03 10:04:32 -07:00
Ashish Kumar Dhanotiya
d21900866c qcacld-3.0: Update the BS state if userspace changes the bearer
Currently host driver does not update the state of the bearer
switch state machine when userspace changes the bearer, which
results in out of sync state of the bearer currently in use.

To address above issue, update the state of the bearer switch
state machine if user space changes the bearer.

Change-Id: Id71cfdf320a11665707a367b13ea932155af0413
CRs-Fixed: 3649793
2023-11-03 10:04:05 -07:00
Asutosh Mohapatra
33482ff25b qcacld-3.0: Fill flexible TWT feature info in twt_feature_set
With this change - I9f8b4186753ec9d446399be9e1cfc03a63a17391
code to fill flexible TWT feature info in twt_feature_set
was removed, as a result host fails to update flexible TWT
feature to fw as part of feature set query.

To address this issue, bring back the code to fill
flexible TWT feature info in to twt_feature_set.

Change-Id: Ia669992c92a02a909d5b64925b903bdef7fc1baa
CRs-Fixed: 3594895
2023-11-03 10:03:58 -07:00
Balaji Pothunoori
c8f46a08fc qcacld-3.0: map uCode 11ax GI values to radiotap header
Currently 11ax sgi values are mapped incorrectly.
uCode has:

enum 0     0_8_us_sgi
enum 1     0_4_us_sgi
enum 2     1_6_us_sgi
enum 3     3_2_us_sgi

Radiotap header expectation:

enum 0     0_8_us_sgi
enum 1     1_6_us_sgi
enum 2     3_2_us_sgi

Hence, This change is to map uCode GI values to radiotap header
as per radtiotap header expectation.

Change-Id: I58d8205e7da3523cf81b420c0aee978a862a772a
CRs-Fixed: 3628151
2023-11-03 10:03:51 -07:00
Abhinav Kumar
4396f1e66f qcacld-3.0: Use proper center freq in case of 320 MHz connection
To trigger wide band scan in case of 320 MHz initial connection,
Host should use value of cen320_freq at the time of initial
connection.

Fix is to use value of cen320_freq present in struct
mlme_priv->connect_info.assoc_chan_info.cen320_freq.

Change-Id: Ia6b823e88d50a33259621a0cd564ae9fa06ced13
CRs-Fixed: 3651649
2023-11-03 10:03:45 -07:00
Yu Tian
b72c0f6d99 qcacld-3.0: Change ICMP req mark to FW logic for TX side
If ICMP is a fragment frame, the first fragment is routed to FW.
Other parts are routed to HW directly. This will lead fragment
out of order and some Network stack can't reassemble it. This
change is aimed to keep the ICMP notify FW logic, but route
the last fragment to FW, then the order can be kept.

CRs-Fixed: 3641824
Change-Id: If3e83943126a974d79f18824ff66b209cc4edd39
2023-11-03 10:03:32 -07:00
Abhishek Singh
0c74539955 qcacld-3.0: Fix API to check SBS/DBS for the freq
Fix API to check if freq will lead to SBS/DBS, also use
vdev id to avoid the decision making using the self vdev during
vdev restart.

Change-Id: I4c6920883031a8e926b224841cfea710b6d82da7
CRs-Fixed: 3653755
2023-11-03 10:03:25 -07:00
Chunquan Luo
28e8075589 qcacld-3.0: Update bss rate flag for correct link
Use default link info is incorrect for mlo link.
Fetch link info by link id and update the bss rate flag.

Change-Id: I72a6747308b9873e18ea2bcb1b95cb915e668970
CRs-Fixed: 3643925
2023-11-02 14:16:41 -07:00
Jianmin Zhu
a68e8b7311 qcacld-3.0: Add cfg to disable puncture in US LPI mode
Add cfg to disable puncture in US LPI mode per FCC requirement,
set to false by default.

Change-Id: Id01f952b2a74ad64216a66d2d292166211440c4b
CRs-Fixed: 3649640
2023-11-02 14:16:29 -07:00
Ashish Kumar Dhanotiya
522f7f2a38 qcacld-3.0: Enable LL_LT_SAP feature
Enable LL_LT_SAP feature by default in the host driver.

Change-Id: I1b5eafca24e1a9884640360048640840acbe8ed3
CRs-Fixed: 3651582
2023-11-02 02:58:28 -07:00
Abhishek Singh
4322ff2da9 qcacld-3.0: Avoid bandwidth upgrade during connection in progress
To avoid race between CSA and set BW, check if BW upgrade is
still required after set bandwidth command become active.
If any connection is in progress, restart the timer again.

Change-Id: I049dbcbc1d30fba8f38250b05f5f62e8c230234c
CRs-Fixed: 3652085
2023-11-02 02:58:21 -07:00
Sheenam Monga
2bc738feb9 qcacld-3.0: Don't use stale assoc rsp for link switch
Currently, assoc response is cached when initial connection
happens on assoc link and same is used to initiate connect
on other links. Similarly, reassoc rsp is cached in case of
OWE roaming to continue connect on other links post EAPOL
handshake.

When DUT roams to 3-link AP and if link switch happens
post roaming, link switch always picks the cached assoc rsp as
it's available. But link-switch after roaming is supposed to
pick reassoc response.

Free the cached assoc response to avoid picking it post
roaming.

Change-Id: I0f316dc9259c597012e18e7c7af5e454df6651d1
CRs-Fixed: 3646555
2023-11-01 21:32:54 -07:00
Vinod Kumar Pirla
dd31141822 qcacld-3.0: Reset num partner links on each candidate try
Driver tries next candidate during connection if current
candidate fails in the join procedure. For each candidate
the number of partner links for that candidate is updated in
connect req params, but this won't update if the candidate
is not ML capable or is SLO.

If the previous candidate is MLO (MLMR or MLSR) which failed
in join and if the next candidate is SLO then the number of
partner links is not updated and will be non-zero for SLO
candidate which is invalid. This leads to going for partner
VDEV connect but with different MLD address than assoc VDEV
which is undesirable.

Always update the number of partner links on each candidate.

Change-Id: Id8147572706ee6a3055e68672aad04eaed4cf43a
CRs-Fixed: 3648252
2023-11-01 21:32:47 -07:00
Ashish Kumar Dhanotiya
6a681f285f qcacld-3.0: Update PCL tables for LL_LT_SAP concurrencies
Based on new requirement update policy manager PCL tables for
below LL_LT_SAP concurrencies:
1. LL_LT_SAP + STA + SAP
2. LL_LT_SAP + SAP + SAP
3. LL_LT_SAP + STA + P2P GO
4. LL_LT_SAP + P2P GO + SAP
5. LL_LT_SAP + P2P GO + P2P GO
6. LL_LT_SAP + STA + P2P CLIENT
7. LL_LT_SAP + P2P GO + P2P CLIENT
8. LL_LT_SAP + STA + STA
9. LL_LT_SAP + P2P_CLIENT + SAP

Change-Id: I8a01b88fc89dc18d1740ccf5fe0f8751e2980535
CRs-Fixed: 3647137
2023-11-01 21:32:41 -07:00
Jyoti Kumari
e87f2ccc0c qcacld-3.0: Reject rrm request if LL_LT_SAP is present
When STA is connected with some AP and that AP has send
RRM request to connected STA. The connected STA will start
RRM scan. During RRM scan, STA may miss beacon while doing
scan as it goes to foreign channel for scan and then comes
back to home channel. Now if LL_LT_SAP is present, it will
do scan in TWT interval. It will be overhead to handle
LL_LT_SAP + STA + Scan in firmware.

For now, reject rrm request if LL_LT_SAP is present.
Enable back later if required

Change-Id: I010b2b3289d80bfd9b0b6340fc6dda17044b06b0
CRs-Fixed: 3647800
2023-11-01 16:02:39 -07:00
Pragaspathi Thilagaraj
cbb69cf1b2 qcacld-3.0: Fix SAE authentication connectivity logs during roam
When SAE roaming happens, the preauth event BSSID is used to
trigger external authentication to userspace and frame exchange
also happens with this BSSID. But while caching the info
corresponding to this frames, the current connected AP bssid is
used. This causes failure while fetching the cached entries.

Use correct BSSID to fetch the cached SAE authentication frames
for MLO SAE roaming. Enhance the error logs in some cases.
Update the driver authentication logs also to print the auth info.

Change-Id: Idd21f40cf0802879e83c10d91956662733b74666
CRs-Fixed: 3644706
2023-11-01 10:26:06 -07:00
Ashish Kumar Dhanotiya
98b3c1184f qcacld-3.0: Update pcl tables for LL_LT_SAP concurrencies
Based on new requirement update policy manager PCL tables for
below LL_LT_SAP concurrencies:
1. LL_LT_SAP + SAP
2. LL_LT_SAP + P2P GO
3. LL_LT_SAP + P2P CLIENT

Change-Id: If325d4f63cb141b78c33b35e72c0dffae00e22c4
CRs-Fixed: 3647074
2023-11-01 10:25:59 -07:00
Ashish Kumar Dhanotiya
47e3ad9261 qcacld-3.0: Initialize the freq list in ll_lt_sap_get_valid_freq api
Currently host driver does not set freq_list to memzero in
ll_lt_sap_get_valid_freq api which may contain some invalid values
which leads to unexpected issues in channel selection.

To address this issue, initialize freq_list with memzero
in ll_lt_sap_get_valid_freq API.

Change-Id: I2f0e7fef6c5ece88b2714b4a90bc169c8bbb75cc
CRs-Fixed: 3647070
2023-11-01 10:25:53 -07:00
Jianmin Zhu
18dfc03871 qcacld-3.0: Fix link switch fail after roaming
Root cause:
1. When connect to 2 link AP1 completed, will save assoc rsp in
mlo_dev_ctx->sta_ctx->assoc_rsp by mlo_sta_link_connect_notify.
2. When roam to another 3 link AP2 completed, reassoc rsp isn’t saved in
mlo_dev_ctx->sta_ctx->assoc_rsp.
3. When link switch happens and need gen link assoc rsp, still use
mlo_get_assoc_rsp to get mlo_dev_ctx->sta_ctx->assoc_rsp as AP2’s
reassoc rsp, so failed to find right per-sta profile in assoc_rsp.

To fix it, when roam to AP2 completed, save reassoc rsp in
mlo_dev_ctx->sta_ctx->assoc_rsp by mlo_roam_copy_reassoc_rsp without
checking whether AUTH/EAPOL finished. replace old initial connected AP’s
assoc rsp.

Change-Id: I6873ba090dd85ad919541d10acbdd6599fc9675c
CRs-Fixed: 3650574
2023-11-01 04:46:31 -07:00
Abhinav Kumar
ea0d6ae588 qcacld-3.0: Offload BTM to FW supplicant disabled-roam only
Issue is Host always sends btm_offload bitmap as 1 via RSO
STOP command during disconnection. If host configures BTM
enable with flag value as 1 during disconnection and try to
enable back with flag value 0x1c1, FW will never honor it
since previous configuration is not disabled while
disconnection.

FW expects BTM offload enable only as part of supplicant
disabled-roam and btm_offload bitmap to be cleared (= 0)
in RSO STOP during disconnection.

Fix is to set btm_offload bitmap as 1 only while processing
RSO STOP with roam reason REASON_SUPPLICANT_DISABLED_ROAMING.

CRs-Fixed: 3650261
Change-Id: Idc23497331b4b49e485e5d1d3ab5e46207680829
2023-11-01 04:46:25 -07:00
Ashish Kumar Dhanotiya
bc1d0241e5 qcacld-3.0: Add Wait for uptree operations in dsc for vdev transitions
Currently host driver does not wait for uptree operations in dsc
before it starts vdev transitios, which may lead to memory domain
mismatch.

For example, if modules are closed because of idle shutdown, memory
domain in host driver will be init domain and at that time if some
psoc ops starts, memory allocated as part of this ops will be
allocated in init domain and if at the same time if vdev up starts
which will trigger the vdev trans and will start the modules and change
the memory domain to active domain, now when the memory allocated as
part of psoc operation is released on psoc ops completion will be
released in the active domain which leads the memory domain mismatch.

In current issue, host driver closes the modules because of idle
shutdown and changes the memory domain to init domain, now host driver
receives get features vendor command and starts psoc operation which
allocates memory in init domain, while this psoc operation is still in
progress, host driver receives interface create which starts vdev
operation and changes the memory domain to active domain as part of
start modules. Now, when ongoing psoc operation completes, it
releases the momory in active domain, which results in memory
domain mismatch.

To fix this issue, before starting vdev transition, add wait for uptree
operations in dsc tree, which includes wait for psoc operations and
driver operations as this issue is possible with the driver operations
as well.

Change-Id: I2cf395ebb94cafca728926a6617fdc34a073755a
CRs-Fixed: 3621530
2023-10-31 01:48:37 -07:00
Huashan Qu
98cfb3eac3 qcacld-3.0: Add NULL check for pm_ctx pointer
Add NULL check for pm_ctx pointer to avoid NULL pointer deference
in function policy_mgr_pcl_modification_for_sap().

Change-Id: Ibc32e5dace8eddd1b88775af6ce76ae62fc76a1e
CRs-Fixed: 3626754
2023-10-31 01:48:31 -07:00
Chaoli Zhou
fe3d6b0ace qcacld-3.0: Allow deliver EAPOL with link address to stack
For the MLO SAP setup connection with legacy STA case,
the DA of the 2/4 or 4/4  EAPOL is possible with bssid
address(link address) not adapter address(mld address),
and we should not drop them inside driver.

So add this change to allow EAPOL to be delivered with
DA is equal to link address or mld address.

Change-Id: I629d24190a4fdef2ef6b3eddd76a345735ec0ff7
CRs-Fixed: 3650022
2023-10-30 20:20:19 -07:00
Rahul Gusain
1d004f479b qcacld-3.0: Decrement NDI session in failure cases also
Currently, host driver sends NDP END ALL commands to the target
and target responses with NDP_HOST_UPDATE and NDP_END_IND. But
due to some reason if host driver does not receive NDP_END_IND
then there is timeout in driver and it starts the NDP cleanup.
While NDP cleanup, driver does not decrement the NDP session
in the PCL. Although driver destroy NDI but there is entry
remaining in the PCL. Hence, it rejects the NAN Enable command.

So, to fix this, while NDP cleanup, decrement the NDP sessions
and change the NDI state to disconnected in the failure cases
also and increase the timeout for NDP_END_ALL request.

Change-Id: I3c5f8f49adced528cb7199831e4d4c13a690dde3
CRs-Fixed: 3648611
2023-10-30 09:45:53 -07:00
Abhinav Kumar
f482ec3167 qcacld-3.0: Send T2LM status event after assoc complete
Issue 1: Host sends T2LM status event twice during an
association.

Requirement is: Host should send T2LM status event to
upper layer for an association only once if T2LM elements
does not get change in between.

Currently host sends T2LM status event
(wlan_connectivity_t2lm_status_event) to upper layer in
below cases:
1. When host receives t2lm action frame
2. Upon Re/Association Response frame reception or roam
   synch indication with reassociation response frame is
   received
3. While processing connects complete indication

As there is no chance to get change T2LM status in between
association response frame and connect complete indication.
So, no need to send T2LM status event while processing
assoc/reassoc response frame as by this time host doesn't
updates T2LM IE information buffer.

Issue 2: Currently host sends STA MLD MAC address via ASSOC
RESP connectivity logging event.

As per requirement, host should send MLD MAC address of MLD
AP via ASSOC RESP connectivity logging event and mld address
should not present in event in case of non-MLD AP connection.

Fix is to send MLD MAC address of MLD AP instead of STA MLD
MAC address via ASSOC RESP connectivity logging event.

Change-Id: I57a5875775b0960ab3b307f1486bd9e6ff4dd9ac
CRs-Fixed: 3647437
2023-10-29 19:50:01 -07:00
Karthik Kantamneni
a3838b9425 qcacld-3.0: Rate limit excessive logs in DP component per packet path
Excessive error logs in per packet path may flood the system with logs.
Avoid this by rate limiting excessive logs in DP component per packet
path.

Change-Id: I1c06db6e22eb5e234cee19b8c9968c8444792e6c
CRs-Fixed: 3648926
2023-10-29 14:23:57 -07:00
Liangwei Dong
02f8ca0cfb qcacld-3.0: Validate enter eMLSR for concurrency
The SNS test may input QCA_WLAN_VENDOR_ATTR_CONFIG_EMLSR_MODE_SWITCH
vendor command randomly. The force active/inactive bitmap may
be conflict with existing force bitmap state. And eMLSR can only
enter with no concurrent connection present.
Add validation to avoid entering eMLSR in concurrent connection
present and bitmap confliction.

Change-Id: Ia1ca46faeca8ae1e32e5e8f585affff2870c5bf8
CRs-Fixed: 3644746
2023-10-27 07:37:26 -07:00
Rahul Gusain
1586bdaa2b qcacld-3.0: Resolve static analyzer issues
This change resolves following static analysis issues:
1. Using uint32_t and enumeration as operands to logical AND
operator (&&) is not allowed by the static analyzer tool.
Convert them to bool and use.
2. Overwriting the variable previous value before using it.
3. sizeof(key_alloc_buf[k]) returns 4/8 bytes as key_alloc_buf[k]
   contains pointer. Use sizeof(*key_alloc_buf[k]) to get right
   size of the object and use it to mem_zero the buffer.

Change-Id: I6faa5b3ff6847786a7f6ac525ccb0e5f60dbd020
CRs-Fixed: 3646512
2023-10-26 22:34:46 -07:00
Chunquan Luo
cf59788437 qcacld-3.0: Update roam AP BSSID to user space for roam issue
User space need roam AP BSSID info to analyse roam issue.
Driver cache AP BSSID during roam and update to user space when
get roam stats info by QCA_WLAN_VENDOR_ATTR_ROAM_STATS_INFO.
Change the roam frame number from 6 to 54, means update all
roam failed and successful frame to user space.

Change-Id: I22b3d917e7e0b4f322142ab359fa135cd588d8f7
CRs-Fixed: 3611826
2023-10-26 16:08:35 -07:00
Jianmin Zhu
bd2a4c5c4c qcacld-3.0: Update puncture bitmap along with chan width
When update channel width of current vdev, need update puncture bitmap
to avoid mismatch.

Change-Id: I0487b251524421611cee2ec33f036a037efa42ea
CRs-Fixed: 3646904
2023-10-26 16:08:29 -07:00
Huashan Qu
10684397cd qcacld-3.0: Add NULL check for twt_psoc_obj pointer
Add NULL check for twt_psoc_obj pointer to avoid NULL pointer
deference in function wlan_twt_get_pmo_allowed().

Change-Id: I1e5c24b843845c89e8779c5e69433c41c2311829
CRs-Fixed: 3626932
2023-10-25 23:29:03 -07:00
Srinivas Dasari
3e9ba88776 qcacld-3.0: Limit SAP restart bw to current operating bw
SAP restart happens when a concurrent STA comes up in the
same band. Currently, the new bw is calculated based on channel
supported max bw. If SAP moves from one 6 GHz channel to another
6 GHz channel, the new bw would be calculated as 320 MHz even if
the current SAP operating bw is 160 MHz. But SAP bw should be
limited to current operating bw as it might have got downgraded
to 160 MHz as part of sap_bw_update algo.
Considered current operating bw when SAP restart happens as part
of sap_bw_update.

Change-Id: If310b0ad9f914b438ae3c1968ca8f1ee26d57589
CRs-Fixed: 3637263
2023-10-25 20:10:41 -07:00
Jianmin Zhu
213929b71e qcacld-3.0: Disable puncture in US LPI mode
Disable puncture in US LPI mode per FCC request.
If bad FCC AP is detected, send WMI_VDEV_PARAM_CHWIDTH_WITH_NOTIFY with
reduced bw after setkey is done.

Also add the same bad FCC AP detection logic in HDD where bw increase req
from SS framework is handled.

When handle beacon update, also FCC AP detection logic to avoid wrong
channel switch.
If the AP removes or reduces puncturing pattern in new beacon, send
WMI_VDEV_PARAM_CHWIDTH_WITH_NOTIFY with increased bw.

For roaming case, after roaming, host will receive new beacon with new
bpcc, same as beacon update, use the same bad FCC AP detection logic and
send WMI_VDEV_PARAM_CHWIDTH_WITH_NOTIFY with updted bw right away or after
setkey is done (in case of hybrid roaming like OWE).

Change-Id: I6e85de879575d5c0a1960527f9018b4b33bf18d6
CRs-Fixed: 3631634
2023-10-25 16:34:07 -07:00
Yu Ouyang
04fb2cea19 qcacld-3.0: Fix compile issue
If WLAN_SUPPORT_TWT or WLAN_TWT_CONV_SUPPORTED not defined, FEATURE_SET
is defined, function wlan_twt_get_feature_info() will be called by
wma_set_feature_set_info(). However wlan_twt_get_feature_info() is not
declaration.

Change-Id: I31b1e5c6520adf4dc495356d45fc89f481c9962e
CRs-Fixed: 3637229
2023-10-23 15:54:34 -07:00
Liangwei Dong
eb84d28816 qcacld-3.0: Reject set active num 2 for ML STA links in MCC
Customer framework may set active num 2 to driver for ML STA.
If the two enabled links are MCC, don't not force active 2
links.
If current enabled links are < 2 and there are concurrent
connections present, force active 2 links, which may be
conflict with concurrent rules, reject it.

Change-Id: Ifd37b7a3fb66e77954b26dad13f3f4244d114dea
CRs-Fixed: 3644404
2023-10-21 11:17:44 -07:00
Asutosh Mohapatra
8a97a01153 qcacld-3.0: Get best channel for SAP during CSA
Currently, if standalone SAP is operating in 6 GHz
and SET_FCC_CHANNEL 0/2 command is issued, as a result
complete 6 GHz band gets disabled and host triggers
SAP CSA to a new 2.4 GHz frequency.
In this path CSA is getting triggered for the second
time and as SAP is operating in a 2.4 GHz frequency
host does CSA to a new 5 GHz channel.

To address the issues,
 1) Add logic to do SAP CSA to best valid channel if current
    channel is disabled.
 2) Invoke wlan_reg_recompute_current_chan_list from
    policy_mgr_update_connection_info only for STA
    and P2P client.

Change-Id: I3dd2b4075d8cd9e73735317ac3a5f7fb08635548
CRs-Fixed: 3603739
2023-10-21 03:15:41 -07:00
Abhinav Kumar
fd4debd695 qcacld-3.0: Send BW ind and wide band channel switch element in rsp
As per spec if Wide Bandwidth Channel Switch (id 163) and Bandwidth
Indication (id 164) sub element present in channel load request,
Host should send same sub element ids with same values as in request
in channel load response.

Change-Id: If419c1e2ac694ee5d2da301e404085bb3fc68674
CRs-Fixed: 3629125
2023-10-20 13:06:49 -07:00
Abhinav Kumar
969f28aeaf qcacld-3.0: Trigger wide band scan as per OPTIE of chan load req
AP can send channel width and related information via below OPIE:
1. Wide Bandwidth Channel Switch (Subelement ID 163)
2. Bandwidth Indication (Subelement ID 164)

Trigger wide band scan as per values present for above IEs present
in channel load request.

Change-Id: I013389972f0f72395488a2405e4b0dcbff39dd42
CRs-Fixed: 3629109
2023-10-20 13:06:42 -07:00
Ashish Kumar Dhanotiya
e570b01a0c qcacld-3.0: Add force MCC logic for LL_LT_SAP
LL_LT_SAP supports MCC with sta interface and does not
support SCC with any interface. Add a logic to force
MCC if any STA comes up in SCC with the LL_LT_SAP interface.
This change adds below logic to force MCC on LL_LT_SAP:
1. If STA is present and LL_LT_SAP comes up, select MCC
   channel in ACS and make sure to bring LL_LT_SAP on MCC channel.
2. If LL_LT_SAP starts without ACS in SCC channel, then
   overwrite this SCC channel with MCC channel.
3. If LL_LT_SAP is present and STA comes up in SCC with
   LL_LT_SAP, move LL_LT_SAP to an MCC channel or on different
   MAC channel.
4. If LL_LT_SAP and STA are present in MCC and STA receives
   CSA on LL_LT_SAP frequency resulting in SCC then move
   LL_LT_SAP to MCC frequency.
5. If LL_LT_SAP and STA are present in MCC and STA roams
   to LL_LT_SAP frequency resulting in SCC then move
   LL_LT_SAP to MCC frequency.

Preference to lower 5 GHz will be given followed by
standalone MAC frequency then MCC frequency.

Change-Id: I7f4380ed7d726112bbc2aa94a50ffbb5d8b6036d
CRs-Fixed: 3640669
2023-10-20 07:59:30 -07:00
Ashish Kumar Dhanotiya
252f127360 qcacld-3.0: Update logging format for BS state machine
With this change add a logging format for bearer switch
state machine.

Change-Id: I4f75b402c163eb6872d1c478845f3e76842d5cae
CRs-Fixed: 3642471
2023-10-20 07:59:23 -07:00
Aasir Rasheed
bc4bf41fdd qcacld-3.0: Check multiple vendor IE with same OUI
Currently, host driver only validate the first vendor IE with a matching
OUI was considered, leading to potential oversight. Now the updated
logic thoroughly checks and validate each vendor IE with its
corresponding OUI data.

Change-Id: I3c5444373e355425adbf6e802591b68b74de598f
CRs-Fixed: 3640771
2023-10-20 07:59:17 -07:00
Aasir Rasheed
627795a306 qcacld-3.0: Enable CTS2SELF for specified APs
Enable CTS2SELF for specified APs that has below OUI:

Currently, STA initiates an RTS before sending a data packet and expects
AP to send CTS. The data packet would be sent out only if CTS is
received. But some APs may not respond for the RTS and station would
retry RTS frames continuously till max retry threshold is reached. It's
observed that few commercial APs have this behavior and there is no use
of sending RTS to such APs.

Identify the vendor OUI of such APs, send a self-CTS and send the
data packets. This can avoid RTS spamming also.

Default OUIs: (All values in Hex)
OUI 1: 000C43
OUI data Len: 04
OUI Data : 07000000
OUI data Mask: F0 - 11110000
Info Mask : 21 - 0010 0001 Check for OUI and Band
Capabilities: C0 - 1100 0000 Band == 2 GHz || Band == 5 GHz

OUI 2 : 000C43
OUI data Len : 04
OUI Data : 03000000
OUI data Mask: F0 - 11110000
Info Mask : 21 - 0010 0001 Check for OUI and Band
Capabilities: C0 - 1100 0000 Band == 2 GHz || Band == 5 GHz

OUI 3 : 8CFDF0
OUI data Len : 05
OUI Data : 0101020100
OUI data Mask: F8 - 11111000
Info Mask : 21 - 0010 0001 Check for OUI and Band
Capabilities: C0 - 1100 0000 Band == 2 GHz || Band == 5 GHz

OUI 4 : 8CFDF0
OUI data Len : 05
OUI Data : 0109020300
OUI data Mask: F8 - 11111000
Info Mask : 21 - 0010 0001 Check for OUI and Band
Capabilities: C0 - 1100 0000 Band == 2 GHz || Band == 5 GHz

Change-Id: I98706d997587b712f6e830a43143645ec2e1b1c5
CRs-Fixed: 3637059
2023-10-20 07:59:11 -07:00
Vijay Raj
72a9394643 qcacld-3.0: Modify Roam result log for MLO connection
For Roam result connectivity logging, bssid is not
printed for No ROAM case when connected to a MLO AP.

Expected Log when connected to MLO AP:
[Kernel Timestamp][ROAM] RESULT NO_ROAM
bssid=??:??:??:??:??:?? [Vendor Extra data]

Observed log when connected to a MLO AP:
[Kernel Timestamp][ROAM] RESULT NO_ROAM [Vendor Extra data]

Add "is_mlo" parameter to be sent in order indicate
userspace the whether the log belongs to MLO AP.
Modify BSSID to bss peer mac of assoc link to be
printed as part Roam Result No roam log when
connected to a MLO AP

Change-Id: Ia9acc1cf7c5377b595771f2718edd9dbf8f45367
CRs-Fixed: 3638160
2023-10-19 14:42:17 -07:00