Commit grafiek

30689 Commits

Auteur SHA1 Bericht Datum
Ravindra Konda
e574f6a5cd Release 5.2.1.84Q
Release 5.2.1.84Q

Change-Id: Ieb77b424d7471ff5542d53d37a5a5eafb57f377f
CRs-Fixed: 774533
2023-12-08 01:19:26 -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
29cc99b960 qcacld-3.0: Fix only nss 1x1 supported for 2 GHz 40M EHT MCS9
When DUT sta disconnect, bw_le_80_rx_max_nss_for_mcs_0_to_9 of 2 GHz eht
cap is set to 1, means only nss 1x1 supported for 2 GHz 40M EHT MCS9.

To fix it, don't change bw_le_80_rx_max_nss_for_mcs_0_to_9 when
disconnect, just change it during WFA case.

Change-Id: Ie96fbd77c473ac6d537517208fd799d7b648dc73
CRs-Fixed: 3670034
2023-12-08 01:19:11 -08:00
Ravindra Konda
b69a34506a Release 5.2.1.84P
Release 5.2.1.84P

Change-Id: I4b74e0a9e549127e3768660fcf0d1d51325fd287
CRs-Fixed: 774533
2023-12-07 22:38:23 -08:00
Randy Tian
1218fb2c21 qcacld-3.0: Disable IMPS when LPC mode is enabled
LPC mode needs IMPS to be disabled to avoid FW umac
enter power save. Change adds enable/disable operation
in LPC mode.

Change-Id: I78cc52098a489700c426f6001112e5cce216b5b3
CRs-Fixed: 3663762
2023-12-07 22:38:23 -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
Ravindra Konda
b7a4145750 Release 5.2.1.84O
Release 5.2.1.84O

Change-Id: If85620f6e0f336d306937e1089ea018c17ce3f3f
CRs-Fixed: 774533
2023-12-07 12:25:02 -08:00
Srinivas Dasari
68e47398ca qcacld-3.0: Send deauth to peer as part of TDLS del sta
Currently, DUT doesn't send deauth to peer if wifi is turned
off when TDLS connection is active. So, peer is not aware of the
DUT status TDLS termination happens after STA kickout timeout.

DUT can send deauth frame to peer so that peer can terminate
the TDLS immediately.

Change-Id: I9318780f945ab2f175c914da3840823f205b1bc9
CRs-Fixed: 3674664
2023-12-07 12:25:01 -08:00
Ravindra Konda
c081b4afef Release 5.2.1.84N
Release 5.2.1.84N

Change-Id: I583e4594e651114161582dac5aee05fd8756d4b4
CRs-Fixed: 774533
2023-12-06 10:54:53 -08:00
Jianmin Zhu
95419d9b10 qcacld-3.0: Don't change self cap when change BW during connected
When set max channel width to less than 320 MHz during connected,
eht_cap.support_320mhz_6ghz is disabled, then even roamed to new 320 MHz
AP, channel width can't be 320 MHz.

To fix it, when change max channel width during connected, just update
channel width and send OMI to AP, update vdev bss chan BW and peer
phymode, don’t change self cap including ht/vht/he/eht cap and channel
bonding mode, then don't affect roaming, CSA case and reconnection cases.

Change-Id: Iea27f0d524b9382de32bdde41b11866be1c49925
CRs-Fixed: 3651683
2023-12-06 10:54:52 -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
Jianmin Zhu
20ac103f2c qcacld-3.0: Fix rssi -128 issue on UI
If RSSI value driver sent is larger than 0, android framework will treat
it as -128, show level 0 on UI

To fix it, if RSSI larger than 0, driver reset it to -1 before send to
upper layer.

CRs-Fixed: 3673537
Change-Id: I09f014eb2fc077292e3b2cbe6ffe8bb62a62258c
2023-12-06 10:54:38 -08:00
Ravindra Konda
061c638108 Release 5.2.1.84M
Release 5.2.1.84M

Change-Id: I3ad8ed19fb968c197e3e609368b94f1f5abc61c0
CRs-Fixed: 774533
2023-12-05 02:18:03 -08:00
Srinivas Dasari
a05e310646 qcacld-3.0: UT and 11be_rate sysfs support for NDI iface
Userspace may need to send certain unit test commands(targeted
to firmware) on NDI interface. But currently it's supported
only on STA and SAP interfaces. Enable the same for NDI.

Similarly, userspace may want to control the 11be rates of
NDPs. These are currently controlled through vdev param
WMI_VDEV_PARAM_FIXED_RATE and sysfs interface is exposed through
11be_rate for STA and SAP. Enable the same for NDI.

Change-Id: I6a492a65c4ec8c3fb623964eb4c0d939e492f5a6
CRs-Fixed: 3668420
2023-12-05 02:18:02 -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
Ravindra Konda
4f3e42e475 Release 5.2.1.84L
Release 5.2.1.84L

Change-Id: I466364378d1a73837b10f0be01263dd5cf5c0337
CRs-Fixed: 774533
2023-12-04 16:14:30 -08:00
Deeksha Gupta
0af8e5d90b qcacld-3.0: Fix NULL pointer issue in wlan_hdd_hostapd.c file
Fix NULL pointer issue in wlan_hdd_hostapd.c file
1. In hdd_update_param_chandef() and wlan_util_get_centre_freq()
   add chan pointer null check before using the it.

CRs-Fixed: 3659377
Change-Id: Ic3c96eb11a8a9a553509b8b58a06f71802dbe66a
2023-12-04 16:14:30 -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
Ravindra Konda
5d00373906 Release 5.2.1.84K
Release 5.2.1.84K

Change-Id: I62347ceaa719fc14cb8a398b6fc399d9948cbf7c
CRs-Fixed: 774533
2023-12-04 04:02:45 -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
Ravindra Konda
1aa3a6c8e9 Release 5.2.1.84J
Release 5.2.1.84J

Change-Id: If30f219a92c39c837134af4cc0f36a73a86c6d47
CRs-Fixed: 774533
2023-12-03 11:43:23 -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
Ravindra Konda
a5858f2700 Release 5.2.1.84I
Release 5.2.1.84I

Change-Id: I2f30705062d7443f81dc7b2fb5bb0225283f205e
CRs-Fixed: 774533
2023-12-02 23:13:07 -08:00
Abhinav Kumar
27a6a7e546 qcacld-3.0: Avoid use of uninitialized variables
In rrm_process_channel_load_req API, there is a
possibility that host driver may use uninitialized
variables which may lead to unexpected behavior.

To address this issue, initialize the uninitialized
variables bw_ind and wide_bw = {0}.

Validate vdev-id before getting corresponding
txrx node pointer in wma_tx_packet.

Updated condition to validate vdev-id while processing
vdev delete response.

Change-Id: I837ba84b9f03896d1b8cfede8885fe3e3d72e1f4
CRs-Fixed: 3674684
2023-12-02 23:13:07 -08:00
Ravindra Konda
8edd568f0b Release 5.2.1.84H
Release 5.2.1.84H

Change-Id: I30840962f83b2f1e45bde76a4ba8b3a243fe6f1f
CRs-Fixed: 774533
2023-12-02 08:15:05 -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
Ravindra Konda
e0f0a39e9b Release 5.2.1.84G
Release 5.2.1.84G

Change-Id: Ic90b96c22420d341d79769fd5224ffe2ecadebeb
CRs-Fixed: 774533
2023-12-01 02:34:53 -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
Ravindra Konda
bd3a9fe682 Release 5.2.1.84F
Release 5.2.1.84F

Change-Id: I1dab4938cf561e37325cddb0774710be03b654cd
CRs-Fixed: 774533
2023-11-29 08:07:31 -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
Ravindra Konda
7b00fab179 Release 5.2.1.84E
Release 5.2.1.84E

Change-Id: I8efbda8c5563b2c74df4b96f0036f8247f905a13
CRs-Fixed: 774533
2023-11-29 04:40:18 -08:00
Abhinav Kumar
1d4899e710 qcacld-3.0: Handle power save mode ind while roaming
Host receives set cfg80211 power management config
(enable/disable power save mode) indication in any
driver state (connected / disconnected / roaming state).

In connected state, Host directly sends power save
enable/disable power save mode indication to FW.

In non-associated state driver does below steps:
1. As kernel expects return status success if host is in
the disconnected state for request then host first cache
power save mode per VDEV and return success to kernel
from sme_ps_enable_disable().
2. In next connection, Host checks cache power save mode
cached at step 1, while processing changes in IPv6/IPv4
state for the interface and sends "power save enable/disable
power save mode indication to FW accordingly.

Currently in roaming state, if host receives enable/disable
power save mode command from user space, Host sends failure
to kernel with error message "not in connected state", which
is not correct. As by this time VDEV is active and FW also
ready to honor power save enable/disable power save mode
indication, host should send indication to FW.

To fix this issue send power save enable/disable power save
mode indication to FW if host receives "set cfg80211 power
management config" in roaming state.

Change-Id: I0fea2275123840e936ddd6c0326f5e9b866de52a
CRs-Fixed: 3665639
2023-11-29 04:40:17 -08:00
Ravindra Konda
0b2e11afd5 Release 5.2.1.84D
Release 5.2.1.84D

Change-Id: I23b38eaa99e4fb7dea78ec8c51cf3d0d24ae78b9
CRs-Fixed: 774533
2023-11-28 04:07:57 -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
Rakesh Pillai
c47a54c310 qcacld-3.0: Enable feature DP_RX_PEEK_MSDU_DONE_WAR for kiwi_v2
Kbuild and bazel changes to enable the feature
DP_RX_PEEK_MSDU_DONE_WAR for kiwi_v2 target.

Change-Id: I7a0195acd8d5bd0566b9dd74b60f7d3a907af495
CRs-Fixed: 3667710
2023-11-28 04:07:50 -08:00
Ravindra Konda
743fac672a Release 5.2.1.84C
Release 5.2.1.84C

Change-Id: I7789ecabe4449ddd63b310cfd2ce85012a3e7124
CRs-Fixed: 774533
2023-11-27 08:54:46 -08:00
Rakesh Pillai
a39e53f73d qcacld-3.0: Enable msdu done failure history for kiwi_v2
Kbuild and bazel changes for enabling msdu done
failure history for kiwi_v2 target.

Change-Id: I6698014e673ac5eb9d065447af697b2ca6c8f4b3
CRs-Fixed: 3662202
2023-11-27 08:54:46 -08:00
Ravindra Konda
2d81a79885 Release 5.2.1.84B
Release 5.2.1.84B

Change-Id: Ib312424db9342544ada29730e738b83534e31106
CRs-Fixed: 774533
2023-11-24 02:35:46 -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
CNSS_WLAN Service
4c076e13f3 Merge changes I5cb95ca7,Ia05200e1 into wlan-cld3.driver.lnx.2.0.14
* changes:
  qcacld-3.0: Do not call self delete peer rsp api for invalid vdev
  qcacld-3.0: Enhance eMLSR connection check
2023-11-21 09:04:39 -08:00
CNSS_WLAN Service
67b85abf00 Merge "qcacld-3.0: Add support to handle Ext Max Tx power in TPE IE" into wlan-cld3.driver.lnx.2.0.14 2023-11-21 09:04:30 -08:00
Ravindra Konda
a102901755 qcacld-3.0: Do not call self delete peer rsp api for invalid vdev
There is a scenario where valid vdev is already deleted properly
but somehow hdd and wma went out of sync and wma_vdev_detach gets
called for invalid vdev id
For invalid vdev id, driver is calling
mlme_vdev_self_peer_delete_resp() which is trying to release the
WLAN_LEGACY_SME_ID reference which was not acquired and that
results to crash.

As part of fix, do not call mlme_vdev_self_peer_delete_resp()
for invalid vdev id.

Change-Id: I5cb95ca74d43e4329c50b8dc1361c7bd34bf735e
CRs-Fixed: 3655723
2023-11-21 22:27:08 +05:30
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
Sheenam Monga
9b969fcef5 qcacld-3.0: Add support to handle Ext Max Tx power in TPE IE
As part of 802.11be_D4.1 new param Ext Max Tx power is added
in TPE for 320 MHz. So add support to parse the ext param.
EXT element is optional and conditional element that will
be advertised by AP in below pattern :

ii.) Transmit Power Interpretation subelement 0/2 i.e local/reg
EIRP then ext element will contain one octet to hold EIRP power.

iii.) Transmit Power Interpretation subelement 1/3 i.e local/reg
PSD then ext element will be variable containing 1 octet out of which
4 bits for array count (B0-B3) and 4 bits reserved (B4-B7) and
array of variable length upto count mentioned in first octet to
store PSD powers per 20 MHz.

CRs-Fixed: 3645315
Change-Id: I703e249ba121a3a79b0cf097b0c036b13e853f24
2023-11-21 22:22:19 +05:30
Sheenam Monga
20cc1cda1d qcacld-3.0: Add PSD/EIRP power for 320 MHz
AP can transmit EXT element in TPE IE for 320 MHz
which needs to be updated in tpe power based on
Power Interpretation subfield.

i.) EIRP power needs to be updated from advertised
element if power interpret is 0/2.

ii.) PSD power needs to be updated from the array
present in EXT element till the count advertised
by AP in 1st 4 bits of 1st octet of EXT element.

Change-Id: I0b4930057edbad1154781da72180e0e34490a19b
CRs-Fixed: 3645333
2023-11-21 22:22:08 +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