Commit Graph

30091 Commits

Author SHA1 Message Date
Gururaj Pandurangi
f30be587ea qcacld-3.0: Offload BTM to FW even with RSO disable
For certain cert cases, roaming is disabled through
CAPI. Supplicant sends RSO disable to Host and the Host
disables BTM offload as well as part of roam disable.
But, for cases like load balancing, Firmware has the
logic to handle BTM requests with disassociation
imminent bit set to 1, by sending an event to Host to
trigger a T2LM request action frame rather than a BTM
response. Thus, set BTM offload bit even when roaming
is disabled to allow FW to handle BTM request frames
instead of supplicant.

Change-Id: Iaa0cbbce62dbb76518880ef2470d6d0819c501db
CRs-Fixed: 3590733
2023-09-09 03:35:53 -07:00
Rahul Choudhary
ea7e6ed625 Release 5.2.1.78Z
Release 5.2.1.78Z

Change-Id: Ie2fda8916c996275f6471830219f92203e38fd30
CRs-Fixed: 774533
2023-09-09 00:22:10 -07:00
Amruta Kulkarni
f2af7014e7 qcacld-3.0: Add support for extension eid in beacon request
Currently extension eid parsing in beacon request is
not supported and so ML IE is not included in the beacon
report.

Change is to
1. Parse extension eid in beacon request and store.
2. Include the basic ML IE is in the beacon report
even if scan database has ML probe response stored.

Change-Id: I5ee37bf8a15e829df167c0fe1283d048dbffe2f9
CRs-Fixed: 3541308
2023-09-09 00:22:10 -07:00
Rahul Choudhary
cd77a79b55 Release 5.2.1.78Y
Release 5.2.1.78Y

Change-Id: I3c30bf1d1a3b154f67684c8ebc2137cd172d8e54
CRs-Fixed: 774533
2023-09-08 11:30:02 -07:00
Bing Sun
b044b0040f qcacld-3.0: Fix build error when calling copy_to_user
API copy_to_user is defined with attribute warn_unused_result, Need
check return value of 'copy_to_user'.
Otherwise there is build error.

Change-Id: Ieff08745b2b80ea2fb8e2f0339461d907bbea292
CRs-Fixed: 3606214
2023-09-08 11:30:01 -07:00
Vinod Kumar Myadam
05c1a207b8 qcacld-3.0: Add support to get num tx/rx chains for SAP and P2P_Go
Add support to get num tx/rx chains for SAP and P2P_Go.

Change-Id: I161e9f48b757a9c177dbc28c839476a666e73d39
CRs-Fixed: 3603558
2023-09-08 11:29:55 -07:00
Mohammed Ahmed
b06fa33b3e qcacld-3.0: Add peach target for bazel
Current wlan bazel implementation does
not support peach chipset.
Fix this by adding peach chipset support.

Change-Id: Ic3cffeebd030db928a4d427b5e3fb03f8e776d4d
CRs-Fixed: 3590359
2023-09-08 11:29:48 -07:00
Rahul Choudhary
f049ce0ecb Release 5.2.1.78X
Release 5.2.1.78X

Change-Id: I603575edaaf9d189bd8c8c0b0cb93c239f767793
CRs-Fixed: 774533
2023-09-08 04:10:30 -07:00
Gururaj Pandurangi
a14b68755b qcacld-3.0: Configure BA mode on each ML STA links
Currently, when the CAPI to set Manual BA mode is received
Host configures assoc vdev and sends it to FW, where as this
value is stored in mac context and sent to FW during vdev
start response for partner vdev. FW honors Host input during
peer create that happens before vdev start and thus, the BA
mode is not updated for partner vdev. This leads to FW
sending undesired addba request to AP. Thus, configure BA
mode to Manual on both vdevs immediately upon receiving
input from user space.

Change-Id: Id71c2e3b8fa523af94773b6346fd023784e0d85a
CRs-Fixed: 3584312
2023-09-08 04:10:30 -07:00
Vijay Raj
873554a96c qcacld-3.0: Modify Roam Scan start and Roam candidate info logging
Modify the api cm_roam_trigger_info_event() in order to add
band info for Roam scan diag logging for MLO usecase.

Modify the api cm_roam_candidate_info_event() to indicate
MLO connection during Roam candidate logging.

Change-Id: Ib42e8362ee091716110c2aa3513a6f6b5653681f
CRs-Fixed: 3582383
2023-09-08 04:10:23 -07:00
Sheenam Monga
d453172923 qcacld-3.0: Don't return bool value instead of uint
Currently, some mlo APIs returns false if mlme_obj is
not found but return type expected is uint8_t.
So, return 0 instead of false in case of error.

Change-Id: I52d0fd82520bb046a7a80381d53f97c95b32d0d1
CRs-Fixed: 3608559
2023-09-08 04:10:17 -07:00
Sheenam Monga
d440675547 qcacld-3.0: Don't defer messages for del sta resp
Currently, response required flag is set to true
for delete sta which means all messages will be
deferred until response is received. There might
be a case when CSA is in progress and del sta
happens then response will not be entertained.

Fix is to not to defer the messages until delete
sta response is received.

CRs-Fixed: 3594718
Change-Id: I4989dd22cadb9e18440e53ccfeb455a42e8a8afe
2023-09-08 04:10:10 -07:00
Abhinav Kumar
9e1471bd14 qcacld-3.0: Fill proper channel(s) in wide band scan request
In case of 320 MHz BW, 6 GHz channel numbers are overlapping
with existing 2.4 GHz and 5 GHz channel numbers.

If DUT connected with one of overlapped channel, To identify
exact band and corresponding bonded channels driver should
pass 320 MHz center frequency to
wlan_reg_get_bonded_chan_entry() as a argument along with
connected 6 GHz frequency and channel width.

Fix is to use 320 MHz center frequency to compute bonded
channels in mlme_update_freq_in_scan_start_req().

Change-Id: I7616f0379d64e33f9bd4a208253db0a390158f77
CRs-Fixed: 3606575
2023-09-08 04:10:04 -07:00
Vinod Kumar Pirla
46288c20e1 qcacld-3.0: Defer SB disconnect if link switch in progress
Link switch request received on assoc VDEV(V0) and to process it
MLO manager will change this to link VDEV and another VDEV(V1) to
assoc VDEV. If AP sends deauth while link switch is in progress
then it will gets serialized first on partner VDEV (V0 - which is
the VDEV on which link switch is in progress) and then on
assoc VDEV(V1).

Upon link switch completion MLO manager will restore the VDEV
flags to original state and disconnect queued to serialization
will be activated and it first processes assoc VDEV(V0) as
when it is queued to serialization flags are not restored.

As part of disconnect complete on assoc VDEV(V0) kernel is notified
and this leads to framework sending set MAC address. Though assoc
VDEV(V0) is disconnected, partner VDEV (V1) is still not in INIT
state. So sending set MAC address while in non-INIT state will lead
to FW assert.

Defer any SB disconnects while link switch in progress, MLO manager
will queue these disconnects when link switch is completed and flags
are properly restored so that assoc VDEV is not serialized first.

Change-Id: Idd8afbdc74177eda429256b4761512e0d1caa949
CRs-Fixed: 3601964
2023-09-08 04:09:58 -07:00
Vinod Kumar Pirla
f3e27022c3 qcacld-3.0: Enhance set link for nlink connection
Existing code for sending set link request to FW will
get VDEV list from MLO manager and sets the VDEV's
MAC address matching userspace request to active and
non-matching as inactive. However for three link
connection this misses the third link which doesn't
have any VDEV so userspace control for this link is
not available.

Enhance the logic to allow userspace to send MAC addr
of the standby link to manage link active/inactive.

Change-Id: Iba5d976349917b1b4f7146381cb0f49218cf4ed8
CRs-Fixed: 3600291
2023-09-08 04:09:50 -07:00
Vijay Raj
4eb27f1d6a qcacld-3.0: Add MLO support for MGMT event logging
Introduce MLO support for Management event logging.

Add band info to indicate the bands of the link
requested for setup during Association/Disassociation
request frame.

Modify bssid info to send only the bssid of the AP
associated to the frame exchange link.

Add MLD mac address support during Association/disassociation
event logs.

Change-Id: I84e53a486ae5ae3f4f2f3f9c42658e1392e64b13
CRs-Fixed: 3603786
2023-09-08 04:09:44 -07:00
Vinod Kumar Pirla
6343b8c5f9 qcacld-3.0: Accept new function argument in link switch
Link switch notification now can be called multiple times
with different reason. Use notify reason to take appropriate
steps corresponding to state of link switch.

Change-Id: Ib3a37e887903305d9bb8472112e0d92520724835
CRs-Fixed: 3606670
2023-09-08 04:09:38 -07:00
Chunquan Luo
f1aabdebab qcacld-3.0: Update Roaming AP BSSID to user space
Currently, roam stats don't cache Roam AP BSSID and don't update
to user space.
If roam successful, save R_AP and P_AP, if roam failed, save P_AP
and save C_AP if exist, then update to user space.

CRs-Fixed: 3580957
Change-Id: Ib0048c34701a7750f9261ba5cbd1bc65eb41582c
2023-09-08 04:09:32 -07:00
Gururaj Pandurangi
f510c0f98f qcacld-3.0: Clear the T2LM info received from assoc response
In certain conditions, AP can send T2LM IE in assoc response
frame. Clear this T2LM mapping information during
disconnection to avoid run to run variations.

Change-Id: Iace0e615481c143bb22dcda1d9f97deb15f44009
CRs-Fixed: 3591466
2023-09-08 04:09:25 -07:00
Gururaj Pandurangi
be3d6ac81b qcacld-3.0: Fix compilation errors on x86
Fix the compilation errors and warnings on x86.

Change-Id: Ia9f849ea0edab84cf11e03f3b08d08e18ed8cab5
CRs-Fixed: 3590806
2023-09-08 04:09:19 -07:00
Pragaspathi Thilagaraj
ca252bd78b qcacld-3.0: Update link_id and vdev_id to link info context
After roaming to 3 Link MLO AP, the link info context is updated
based on link id, but this will cause issue if roamed AP has
different link ids.

So reset the link info context upon roaming and update the link_id
and vdev_id for all the links.

Change-Id: I6e88ed623fa6d068fe7a5ec572cfa132ec72ea6a
CRs-Fixed: 3603945
2023-09-08 04:09:13 -07:00
Liangwei Dong
e65c3b8bea qcacld-3.0: Allow dynamic channel width update for 2.4 GHz STA
There is a requirement to downgrade/upgrade STA band width on 2.4 GHz
without reconnect. Change driver to allow such request from vendor
command by QCA_WLAN_VENDOR_ATTR_CONFIG_CHANNEL_WIDTH attribute.

Change-Id: I6642963d90eafc388b6c20c0ce393e6fec58b374
CRs-Fixed: 3594338
2023-09-08 04:09:06 -07:00
Jia Ding
c4fab8012d qcacld-3.0: Add multiple ucfg APIs for policy_mgr
Add multiple ucfg APIs below for policy_mgr.

ucfg_policy_mgr_get_connection_count()
ucfg_policy_mgr_is_hw_sbs_capable()
ucfg_policy_mgr_get_vdev_same_freq_new_conn()
ucfg_policy_mgr_get_vdev_diff_freq_new_conn()

Change-Id: I0402e98021e838b0d50a254c980b65e22bc96ef7
CRs-Fixed: 3599447
2023-09-08 04:09:00 -07:00
Rahul Choudhary
62bafd1650 Release 5.2.1.78W
Release 5.2.1.78W

Change-Id: I1907b7b841ee575c8968aafe711743a2e81fb3b6
CRs-Fixed: 774533
2023-09-06 05:59:09 -07:00
Gururaj Pandurangi
3a677da0d3 qcacld-3.0: Reset fragment number in mac header for mgmt frame
Reset the fragment number subfield in the mac header for
management frames. Some APs are discarding frames that
have certain positive value assigned to fragment number.

Change-Id: Ic6757f19862443e84b45f655d34def300f8bfcfa
CRs-Fixed: 3573737
2023-09-06 05:59:09 -07:00
Rahul Choudhary
6719727f83 Release 5.2.1.78V
Release 5.2.1.78V

Change-Id: Idde11885d2d65f533f1634a8189570a0858290a1
CRs-Fixed: 774533
2023-09-05 23:41:18 -07:00
Deeksha Gupta
6e303e37aa qcacld-3.0: Add retries to TWT DEL dialog cmd during ps mode
If power save disable command commes, implicitly driver
teardown the existing TWT session by sending out
TWT_DEL_DIALOG command to fw. In firmware if
command fails due to firmware scan_in_progress or
chan_switch_in_progress then driver should retries
TWT_DEL_DIALOG implicitly.

In driver, add retries logic to the twt del dialog command in
case of power save disable.

CRs-Fixed: 3584286
Change-Id: I71299ea8239f33d194d2b55499f2d8e5946c42ba
2023-09-05 23:41:17 -07:00
Deeksha Gupta
25396041b8 qcacld-3.0: Return proper status in case of ml_mgr channel update
Currently, after updating the 1st partner link channel info form
the probe response frame driver returns the failure. Due to this,
driver has not added the beacon for standby link and age out
happened for the 2th partner link and STA connected with
2 link AP after aging out.

To fix is, To avoid scan aging for 2th partner link, driver
should return correct status in lim_update_mlo_mgr_info()
and add all the partner links info properly in the scan db.

CRs-Fixed: 3598675
Change-Id: I713cc9837c6728983c8154086ef6b46785fba727
2023-09-05 23:41:10 -07:00
Rahul Choudhary
c24bb1e958 Release 5.2.1.78U
Release 5.2.1.78U

Change-Id: I007149057f7ea0417fc42c9577fa68e7410b54ed
CRs-Fixed: 774533
2023-09-05 20:18:59 -07:00
Deeksha Gupta
964f138fd9 qcacld-3.0: Added new parameter in p2p_set_noa command
Added support for new "start" parameter in
p2p_set_noa driver command.

Change-Id: I8bc743141ea6d9cfdf49ca89b0835f2e5519a12e
CRs-Fixed: 3557825
2023-09-05 20:18:58 -07:00
Rahul Choudhary
fadf698982 Release 5.2.1.78T
Release 5.2.1.78T

Change-Id: I1eb3c4f86361bf4baca8f2c61ca59275ef6df069
CRs-Fixed: 774533
2023-09-05 15:14:01 -07:00
Srinivas Dasari
e9281af13b qcacld-3.0: Consider peer indicated bw also for SAP final bw
Connected clients may downgrade/upgrade their bandwidth and
send OMN/OMI frame to indicates the same. Firmware sends
PEER_OPER_MODE_CHANGE to host with the received data. Consider
the peer indicated bandwidth also to determine the final
bandwidth to be supported for that peer.
Minimum of new bandwidth(upgrade/downgrade), peer associated
bandwidth and peer indicated bandwidth to be considered while
upgrading/downgrade bw when concurrency comes/gone.

Change-Id: I9a15162df3a46c9cf6c7bc4d861e350349d22201
CRs-Fixed: 3605233
2023-09-05 15:14:01 -07:00
Vijay Patil
52e5d326f6 qcacld-3.0: Add support to handle PEER_OPER_MODE_CHANGE event
Firmware sends PEER_OPER_MODE_CHANGE event to host in SAP
mode when a connected client indicates upgrade/downgrade
of its bandwidth.
Host needs this data as any further SAP bandwidth
upgrade/downgrade should honor the indicated bandwidth for
that specific peer.

Change-Id: I50fecf670b47c56e3f33b8519fde1d5eaec7523f
CRs-Fixed: 3604716
2023-09-05 15:13:55 -07:00
Yu Wang
35c0700b17 qcacld-3.0: decouple TSF auto report from uplink delay feature
TSF auto report is a stand alone feature, which can
be used to sync TQM clock and TSF clock, more than
one features depend on it.
Introduce a new build flag WLAN_FEATURE_TSF_AUTO_REPORT
to decouple it from uplink delay feature.
And also introduce trigger source for TSF auto report to
identify different triggers and maintain the enablement
state.

Change-Id: I61005d0ba29e62995aeb88067d18ad48767bd8b5
CRs-Fixed: 3560239
2023-09-05 15:13:48 -07:00
Ashish Kumar Dhanotiya
a8c35ba698 qcacld-3.0: Add support for audio transport switch event
Based on the new requirement, add support for vendor event to
switch the audio transport bearer.

Change-Id: Iff5733c7552674fb84d225d1aef183577105a276
CRs-Fixed: 3585390
2023-09-05 15:13:42 -07:00
Aravind Kishore Sukla
0d61022ac6 qcacld-3.0: Add comments for the change fixed
Add comments for the fix added to validate security
for 11be connection and Reject partner link based on
security check.

Change-Id: I1b8d5e91e0e07c6c311b8c6ca6427c3fabd6b219
CRs-Fixed: 3605255
2023-09-05 15:13:35 -07:00
Vinod Kumar Pirla
1db86797f4 qcacld-3.0: Only modify local buffer in Link-MLD addr trans
For action frames of category non-public userspace expects
source address in frame as MLD address for which change is
introduced using Ie63c09ece7550dfdc69c82ef8b7111251deee33e.

The lim_send_sme_mgmt_frame_ind() API modifies the actual
frame's SA/DA/BSSID fields and copies to buffer malloc'ed.
Processing RRM frame post notifying userspace results in
trying to use modified SA address as peer address which
will result in failure.

As userspace will only receive on the malloc'ed buffer it
is better to do Link-MLD address translation on only that
buffer so that the callers of lim_send_sme_mgmt_frame_ind()
won't have tampered fields.

CRs-Fixed: 3606603
Change-Id: Iaeed8d4467d759cb8e61cd48404b5bc048f18b9a
2023-09-05 15:13:29 -07:00
Rahul Choudhary
34f0af6eb7 Release 5.2.1.78S
Release 5.2.1.78S

Change-Id: I3035c539c82a11e3289df50498fbbad9a2af86df
CRs-Fixed: 774533
2023-09-05 08:26:00 -07:00
Srinivas Dasari
db3618ad48 qcacld-3.0: Include BW_IND_ELEM IE in beacon and ECSA frames
Include BW_IND_ELEM IE in beacon and ECSA frames while advertising
CSA. This is needed when upgrading the bandwidth to 320 MHz.
Send the ECSA IE with switch count as 1. Use a timer to reset it
after sending the beacon out.

Change-Id: I6c38ef1ce4629b7a67bcbf803c7dbcced05ade33
CRs-Fixed: 3604422
2023-09-05 08:25:59 -07:00
Srinivas Dasari
8fe561ad1d qcacld-3.0: Handle 320 MHz SAP + concurrent STA CSA
When a concurrent STA moves to a new channel due to CSA from
peer AP, check if 320 MHz SAP needs bandwidth downgrade/upgrade
operation.

Change-Id: Id207f1c37a65c4638359eb7f2294478f13beed73
CRs-Fixed: 3601349
2023-09-05 08:25:53 -07:00
Rahul Choudhary
42e43fe0de Release 5.2.1.78R
Release 5.2.1.78R

Change-Id: I6bee49ee548fb7ecf58d24a01aeb3b26c9809321
CRs-Fixed: 774533
2023-09-04 22:35:16 -07:00
Srinivas Dasari
db9052a4e7 qcacld-3.0: Add support for 320 MHz SAP + concurrent STA roaming
Check if the roamed channels lead to DBS/SBS with existing
320 MHz SAP after handling roam sync indication.

Change-Id: I3c816378f93b505c59da7aa9c4cfcc6352f5dbb3
CRs-Fixed: 3601348
2023-09-04 22:35:16 -07:00
Srinivas Dasari
f99e06cab3 qcacld-3.0: Add support for 320 MHz SAP + STA concurrency
When a STA connect req comes up, check if any of the candidates
cause DBS/SBS with the concurrent 320 MHz SAP and downgrade the
SAP bandwidth to 160 MHz.
Also, consider to downgrade the SAP bandwidth to 160 MHz when
an ML candidate is found as ML candidates need DBS/SBS mostly.

Change-Id: Icf2c9c26bd953d58bc0702302825493c0937a699
CRs-Fixed: 3601344
2023-09-04 22:35:10 -07:00
Srinivas Dasari
12ffcc8ce1 qcacld-3.0: Use opportunistic timer to upgrade SAP ch_width
When a concurrency is gone, SAP ch_width can be upgraded to
320 MHz if it's still valid. Use opportunistic timer to avoid
frequent upgrade/downgrade operations.

Change-Id: I60e19427af2226970f1801dd00b04e1072ebea01
CRs-Fixed: 3601340
2023-09-04 22:35:03 -07:00
Srinivas Dasari
afcc8c613e qcacld-3.0: Add infrastructure to handle 320 MHz SAP concurrencies
Currently, 320 MHz SAP is supported only when the hardware mode
is SMM. When a new concurrency comes up, firmware may have to
configure the hw_mode to split-phy mode(DBS/SBS). Then the
requirement is to downgrade SAP to 160 MHz as split-phy mode
doesn't support 320 MHz.
As part of the downgrade process,
1. Indicate to the connected peers that SAP is going to be
   downgraded to 160 MHz via ECSA frame
2. Update ECSA IE to the beacon template with count as 1
3. Indicate the final bandwidth of each peer to firmware

Add infrastructure to support these. Reuse some of the existing
APIs of NSS update and hw_mode update.

Change-Id: Ieb964ddb782a547699890a9dbbc3efdf631149eb
CRs-Fixed: 3601336
2023-09-04 22:34:57 -07:00
Srinivas Dasari
45c176a726 qcacld-3.0: Use current oper ch_width to fill EHT_OPER IE
Currently, session->ch_width is used to send the current operating
ch_width of the SAP in beacons/probe rsp/assoc rsp. But the
current operating bw may change due to concurrencies. Refine the
current usage to get operating ch_width from vdev mlme priv object
instead of pe_session.

Change-Id: Ie4be6337fcb1902f38ae5cb2db03c5b6af16ee3a
CRs-Fixed: 3600239
2023-09-04 22:34:51 -07:00
Rahul Choudhary
8145afae72 Release 5.2.1.78Q
Release 5.2.1.78Q

Change-Id: Ia4f527121238842f8d2fd9a792d88e7618cd9cfb
CRs-Fixed: 774533
2023-09-04 18:34:20 -07:00
Ashish Kumar Dhanotiya
a0ad067df0 qcacld-3.0: Add support for audio transport switch vendor command
Based on the new requirement, add support for vendor command
to switch the audio transport bearer.

Change-Id: I1d3b74c18976b0927ebba228b73af5a10cc67391
CRs-Fixed: 3582788
2023-09-04 18:34:20 -07:00
Rahul Choudhary
d700e98e6a Release 5.2.1.78P
Release 5.2.1.78P

Change-Id: I9951c15559225f8bb1b325048b0a4dfc7a4be036
CRs-Fixed: 774533
2023-09-04 14:26:49 -07:00
Surya Prakash Sivaraj
f42a49bfbf qcacld-3.0: Add additional room for runtime OUI extensions
FW allocates memory for action oui extensions only during
init. But, the driver configures some OUIs to the firmware
during connection. For the firmware to accommodate these
new action OUIs during connect, additional room needs to
be sent to firmware during driver initialization itself.

Add changes to send additional room for 10 extensions during
initialization.

Also, currently host adds the count of host only extensions
also as part of the total extensions sent to the firmware.
This leads to wastage of memory allocated in the firmware.

To fix this, keep a separate counter for host only extensions
and remove these from the total extensions saved before
configuring action OUIs to firmware.

CRs-Fixed: 3605032
Change-Id: Ibac93418a873bab53e1c58bf7c06834e38dfd534
2023-09-04 14:26:48 -07:00