Commit Graph

25835 Commits

Author SHA1 Message Date
Pragaspathi Thilagaraj
e48e6ea80e qcacld-3.0: Check TX flag for all frames
Currently driver checks TX flag only for authentication
frames. This causes wrong tag for the frames.

Check TX flag for Deauth/Disassoc & authentication frames
also.

Change-Id: Id499bc1978ee72bac2435be165b31d0db49ce9d8
CRs-Fixed: 3203858
2022-05-25 04:55:32 -07:00
Madan Koyyalamudi
d8a52c544c Release 5.2.1.22T
Release 5.2.1.22T

Change-Id: I38f55addf735917e12ce7c388ba7ffe5e2d7ee09
CRs-Fixed: 774533
2022-05-25 01:44:37 -07:00
Bing Sun
6d71f2d38d qcacld-3.0: Fix bss_transition bit in reassoc request frame
bss_transition bit is not set in extend capability IE of reassoc request
frame, while it is set in extend capability IE of assoc request frame.

The way to populate extend capability IE of reassoc request should be
the same as we do for assoc reqest frame.

Change-Id: I22a56c7c9f8926d88d0da7d0445ff5f6a8249320
CRs-Fixed: 3200723
2022-05-25 01:44:37 -07:00
Madan Koyyalamudi
51b4c63169 Release 5.2.1.22S
Release 5.2.1.22S

Change-Id: Ifdf16ecccc44dd549fc5f52c3f9bf20d258212db
CRs-Fixed: 774533
2022-05-24 22:30:36 -07:00
Sheenam Monga
cbf4fda0d5 qcacld-3.0: Add 5 GHZ low/high SCC channel before rest 5 GHZ low/high
Currently in case of SBS, if two connections are on one mac and
one connection is on another mac new connection can come up only
on 5 GHZ Low/5 GHZ high based on the mac that can support new connection.
But weightage of all 5 GHZ low/high channel is marked same instead of
prioritizing SCC channel.

Fix is to provide more weightage to 5 GHZ low/high SCC channel than
rest 5 GHZ low/high channels.

Also Optimize few logs.

Change-Id: I4153b209e6a74fe79081116baecaae78be5b632b
CRs-Fixed: 3204041
2022-05-24 22:30:35 -07:00
Madan Koyyalamudi
e0bccb10f5 Release 5.2.1.22R
Release 5.2.1.22R

Change-Id: I6609c3920609167b936234e1d544f767fb3ff8dd
CRs-Fixed: 774533
2022-05-24 21:03:49 -07:00
Liangwei Dong
5119ab95a9 qcacld-3.0: handle 3 vif case for SAP force SCC
Add API policy_mgr_check_force_scc_three_connection
to select force SCC channel for 3 vifs existing case in
policy_mgr_check_scc_sbs_channel.

Change-Id: Ie092c15164939306a8723038f6418ab722314f7c
CRs-Fixed: 3178588
2022-05-24 21:03:49 -07:00
Madan Koyyalamudi
63bce26eb7 Release 5.2.1.22Q
Release 5.2.1.22Q

Change-Id: I11e2b33244af02ea806727e8ea9234b353d32532
CRs-Fixed: 774533
2022-05-24 09:38:48 -07:00
Arun Kumar Khandavalli
c0c9d4a1bb qcacld-3.0: Process partner link stats for MLO connection
Send connected links bitmap to FW via a command:
WMI_REQUEST_STATS_EXT_CMDID in case of MLO connection.

Host receives partner link stats via WMI_STATS_EXT_EVENTID
event and sends information of partner links to upper layer.

Change-Id: Iddd617f1acb5e29e4ba6d52baae0b421c4886063
CRs-Fixed: 3148451
2022-05-24 09:38:47 -07:00
Madan Koyyalamudi
721e82bcea Release 5.2.1.22P
Release 5.2.1.22P

Change-Id: I0b6cf1315e5190938d6ed82a081374fe30578164
CRs-Fixed: 774533
2022-05-24 02:32:20 -07:00
Aravind Kishore Sukla
9c3b2ea466 qcacld-3.0: Ignore unsafe channel
Driver reports unsafe channel to the upper layer although
channel is unsafe.

Ignore the channels which are unsafe after examination
of whether channel is safe or not by the use of
policy_mgr_is_safe_channel() and report safe channel
to upper layer

Change-Id: Idfe741d19b8641814888938eab37a1daa83b7dd9
CRs-Fixed: 3197317
2022-05-24 02:32:20 -07:00
Madan Koyyalamudi
b762270120 Release 5.2.1.22O
Release 5.2.1.22O

Change-Id: I9cd6a43b8bf24d61c1a3320f8ffc0d8695fec1be
CRs-Fixed: 774533
2022-05-24 00:57:25 -07:00
Abhishek Singh
2b4bc8d5df qcacld-3.0: Add logic to disable a link during STA connect/roam
Add logic to disable a link vdev if concurrency doesn't allow it.
Send mlo_force_link_inactive in peer assoc for this and add
it in deleted table on connection complete.

Also disable the link if roam sync indication indicate
that link is disabled.

Change-Id: Ib0615308a669a5fd9d2b8ef6f8ab3f50953f658d
CRs-Fixed: 3192728
2022-05-24 00:57:24 -07:00
Abhishek Singh
12e3558871 qcacld-3.0: Call enable/disable link APIs from connect/disconnect/roam
Call enable/disable link APIs from connect/disconnect/roam etc.

Cleanup policy_mgr_handle_sap_mlo_sta_concurrency and
policy_mgr_handle_sap_plus_ml_sta_connect API as
policy_mgr_handle_sap_cli_go_ml_sta_up_csa and
policy_mgr_re_enable_ml_sta_on_p2p_sap_down will take care of
ML STA + SAP/P2P cases.

Also optimize policy_mgr_handle_ml_sta_link_concurrency to consider
only ML STA+STA cases and called from connect/disconnect/roam etc.

Change-Id: Ib8b9b2a490832ea5cbe1d86e58009e1437b331b9
CRs-Fixed: 3189685
2022-05-24 00:57:18 -07:00
Sheenam Monga
86d1d71e70 qcacld-3.0: Enable/disable ML link based on SAP/P2P vdev traffic type
Add logic to enable and disable number of STA ML link, on vdev UP
and DOWN, if any link is causing MCC with exiting
SAP/P2P and SAP/P2P with traffic type as low latency or high tput.

Change-Id: Id599acf5a07042328917b5e15f077d2decc0ad5f
CRs-Fixed: 3189304
2022-05-24 00:57:13 -07:00
Abhishek Singh
f9352d58ff qcacld-3.0: Add callback in set link enable/disable req
Add callback in set link enable/disable req to handle firmware
resp.

Change-Id: I8f9906b440a4a7630c979bb7c74519960be02e9d
CRs-Fixed: 3188726
2022-05-24 00:57:07 -07:00
Madan Koyyalamudi
99fd4bad83 Release 5.2.1.22N
Release 5.2.1.22N

Change-Id: Ia36b17d01c0a4c1315c10570963e0a1a6e16c707
CRs-Fixed: 774533
2022-05-23 22:06:17 -07:00
Paul Zhang
6a9df0ccbd qcacld-3.0: Update the rate flags
assoc_ind->ch_width is updated in function lim_fill_assoc_ind_he_bw_info,
but assoc_ind->chan_info.rate_flags is not updated. It causes BW out of sync
between these two variables.

To resolve this issue, update assoc_ind->chan_info.rate_flags accordingly
at same time.

Change-Id: Ifab85d7ced977f3a3f032853f37dfcdeadb8db26
CRs-Fixed: 3196799
2022-05-23 22:06:16 -07:00
Utkarsh Bhatnagar
9ddd1a5879 qcacld-3.0: Don't use pMsg tsinfo
For setting tspec uapsd mask per session
in sme_qos_del_ts_req(), Don't use tsinfo
from pMsg as before setting tspec uapsd
mask, eWNI_SME_DELTS_REQ msg is posted
to lim and as part of processing this
msg, pMsg is mem_freed.
This will cause use after free error so
as fix, fill the pMsg tspec to a local
variable before posting msg to lim and
pass it to
sme_set_tspec_uapsd_mask_per_session()

Change-Id: I9bded004ca3e9d612811c7533e655be1e2cdff42
CRs-Fixed: 3201541
2022-05-23 22:06:11 -07:00
Abhishek Singh
f0ccd97d61 qcacld-3.0: Add disable ml link infra in policy manager
Add disabled links table and APIs to move and remove
vdevs from disabled links table.

Change-Id: I610bbd10e387a4bcd3a5d5c88c3dba5698878441
CRs-Fixed: 3181474
2022-05-23 22:06:05 -07:00
Sheenam Monga
4d63e56111 qcacld-3.0: Add PCL handling for ML STA + P2P + P2P
Add PCL handling for ML STA + P2P + P2P concurrencies,
based on current hw mode (SBS/DBS/SMM).

Change-Id: I337b12a0c03ab89968572056f27f47a6b9392803
CRs-Fixed: 3177305
2022-05-23 22:05:59 -07:00
Liangwei Dong
9c9b350587 qcacld-3.0: Tune normalize_acs_weight for 6 GHz non-PSC CH
In new framework the 6 GHz preferred SAP ACS config file will
contain 5 GHz channels, to avoid 6 GHz non-PSC being set to
MAX weight value and 5 GHz channels selected easily, here set
normalize_acs_weight to 90 for non-PSC channel of 6 GHz, 40
for 2 GHz and 5 GHz channels.

Change-Id: I5e89339d0fd4e3c190dd2ead1ec87d12ff197691
CRs-Fixed: 3186587
2022-05-23 22:05:53 -07:00
Liangwei Dong
58ac0e7341 qcacld-3.0: Fix DFS channel weight factor issue
If normalize_acs_weight INI setting covers the DFS channel,
the existing DFS channel weight factor will be override.
Fix it by using the minimal weight factor for both setting.

Change-Id: Ie0fa3371bd99ee8d50c7abc81ddc8cd0eb84f9aa
CRs-Fixed: 3196688
2022-05-23 22:05:47 -07:00
Madan Koyyalamudi
502bb9ea0e Release 5.2.1.22M
Release 5.2.1.22M

Change-Id: Ib51b96e0a9ebfa6861303bcdc218e20903884cfb
CRs-Fixed: 774533
2022-05-23 20:26:02 -07:00
Liangwei Dong
1826cbf1c2 qcacld-3.0: populate num_max_active_vdevs for WMI init
To make the active connections number configurable, based on
host configuration of INI gMaxConcurrentActiveSessions
host sets the num_max_active_vdevs in WMI init command to notify
the FW the number of active connections host expects to support.
FW will report the actual supported number in wmi ready event.
Policy mgr will record the FW supported number if FW number is
smaller than host requested.

Change-Id: I454c0cdde6be1e8a627f8fff08b6c7b2141b00f6
CRs-Fixed: 3183006
2022-05-23 20:26:02 -07:00
Liangwei Dong
6977ac6da5 qcacld-3.0: Check and override strict flag for SAP user CSA
If force SCC enabled, user trigger SAP CSA and target channel
doesn't cause MCC with existing STA/CLI. Then overide strict flag to
true, so that driver can skip the overlap interference check and
allow the CSA go through. This is to allow SAP/GO force SCC in
same band.

Change-Id: I7844f7329b922456594cad1402a0d2ac0d0927c5
CRs-Fixed: 3178725
2022-05-23 20:25:56 -07:00
Jyoti Kumari
dc5a5c30f8 qcacld-3.0: Add support for new ini param RoamCommon_MinRoamDelta
Add support for new ini param RoamCommon_MinRoamDelta. This param
is similar to the existing min_roam_score_delta param but units
change

Change-Id: If04ff2344a2651e7d8d71c92f05dfebc229f9fe1
CRs-Fixed: 3015930
2022-05-23 20:25:50 -07:00
Jyoti Kumari
025e717335 qcacld-3.0: Add support for new ini param RoamIdle_InactiveTime
Add support for new ini param RoamIdle_InactiveTime. This param
is similar to the existing idle_roam_inactive_time but unit
change

Change-Id: I857107a6d0e39f373e39d4fb9b762e7cf4c4a9e4
CRs-Fixed: 3015993
2022-05-23 20:25:42 -07:00
Madan Koyyalamudi
17cdf337fe Release 5.2.1.22L
Release 5.2.1.22L

Change-Id: Ibdffad74d11dce16406293edc774bfeb3cea2e45
CRs-Fixed: 774533
2022-05-20 23:20:24 -07:00
Bing Sun
038de6cb99 qcacld-3.0: Prevent hdd_wds_replace_peer_mac modifying mac addr in skb
hdd_wds_replace_peer_mac will modify the input mac addr, the destination
mac addr of skb is modified once we pass skb->data as a pointer to the
hdd_wds_replace_peer_mac.

Use a local variable to get mac addr in skb, then hdd_wds_replace_peer_mac
will not modify mac addr in skb.

Change-Id: Ie0f6f4365b8558a451fa8434832f14aebd56172b
CRs-Fixed: 3196225
2022-05-20 23:20:24 -07:00
Surya Prakash Sivaraj
130b642843 qcacld-3.0: Prevent SCC channel filtering in PCL
Keep SCC channels in the PCL list, if SCC is allowed on those
frequencies.Do not remove these frequencies, if the
mandatory channel list doesn't have the SCC frequencies.

Also, whenever the user configured frequency of the SAP is
different following a STA disconnect, switch it back to the
home channel.

Change-Id: Ia5fe8943136791084de02a2d3a8ff250008978be
CRs-Fixed: 3196278
2022-05-20 23:20:17 -07:00
Madan Koyyalamudi
c6b51e0ef5 Release 5.2.1.22K
Release 5.2.1.22K

Change-Id: I30d023eea8c6ca6f2d7916a019a05f55badf125f
CRs-Fixed: 774533
2022-05-20 19:55:20 -07:00
Bing Sun
5561932e60 qcacld-3.0: Enable puncture for 11be SAP when getting chan param
When getting chan param for SAP, the bandwidth is downgraded if some
channel in the bandwidth is disabled if puncture flag is not set in
chan param.

Check phymode in sap_ctx, if it is 11be, enable puncture when getting
chan param.

Change-Id: Id80a76c3fc8bb96e714b1b70159637ece876488f
CRs-Fixed: 3201043
2022-05-20 19:55:20 -07:00
Aravind Kishore Sukla
c4337e7721 qcacld-3.0: Print 5Ghz channels and AP bssid in Roam result
During full scan only 2.4Ghz channels are printed.
Along with 2.4Ghz channels print 5Ghz channels.
so, use policy_mgr_get_connected_roaming_vdev_band_mask()
instead of policy_mgr_get_connected_vdev_band_mask()

After Roam result candidate or currently connected
AP bssid is not printed. so, printed candidate or
currently connected AP bssid by changing logic

Change-Id: I800ebdc033480b93150bdeb00a900c373ba333dc
CRs-Fixed: 3185092
2022-05-20 19:55:15 -07:00
Madan Koyyalamudi
1958408956 Release 5.2.1.22J
Release 5.2.1.22J

Change-Id: Iff234508f4c1d5878762769aa8762cc4255bc277
CRs-Fixed: 774533
2022-05-20 18:26:25 -07:00
David Oladunjoye
a8e810cec8 qcacld-3.0: Add back port flag for 11be support
Add logic to set back port flag based on linux kernel version.

Change-Id: Ibee7bcd49f4ef65c3fb0abce80081facee11c6ba
CRs-Fixed: 3187824
2022-05-20 18:26:24 -07:00
Madan Koyyalamudi
df4847be72 Release 5.2.1.22I
Release 5.2.1.22I

Change-Id: I1c09a454dbd0ce28e70b283841d6729d5545acfc
CRs-Fixed: 774533
2022-05-20 16:55:23 -07:00
Kai Liu
962ad87f7f qcacld-3.0: Use default seek for memdump lseek
Kernel change d4455fa 'proc: mandate ->proc_lseek in "struct proc_ops"'
by default use proc_lseek for file operations without any check, so add
default_llseek for all proc ops.

Change-Id: Ia72839cf09ec721fb98f50793b19ec082478d8d7
CRs-Fixed: 3201012
2022-05-20 16:55:23 -07:00
Madan Koyyalamudi
dc959747c3 Release 5.2.1.22H
Release 5.2.1.22H

Change-Id: I6270a5bcaa0b806d77c58667834b668bc645ed5b
CRs-Fixed: 774533
2022-05-20 07:37:54 -07:00
Rahul Gusain
5cbe75162d qcacld-3.0: Avoid the use of add-sta pointer after free
In err case "add_sta ptr" is freed in wma_send_msg_high_priority
and referenced again in caller API

so fix this by removing references to "add_sta ptr" in the caller
API's after its freed

CRs-Fixed: 3197782
Change-Id: Id1424b2802108f7d7475ed5dbf28e938bb47b525
2022-05-20 07:37:54 -07:00
Rahul Gusain
4bb21dde9e qcacld-3.0: Fix random mac addr set issue
For every random mac addr set/clear command to firmware,
driver gets reply from firmware whether success or fail.
But sometimes, if the response event is delayed by more
than 100ms by firmware then timeout happens in HDD.
Upon timeout, driver sends clear random mac command which
gets dropped in p2p_process_set_rand_mac API as prev command
status from firmware is pending.

So fix is to increase the timeout value to 1000ms

Change-Id: I6116259b5d34269a8c98712d978957cfd374cdc1
CRs-Fixed: 3199989
2022-05-20 07:37:48 -07:00
Madan Koyyalamudi
dc7bac8f28 Release 5.2.1.22G
Release 5.2.1.22G

Change-Id: Ia3d227ebdf53dfe4aa15683f568f54baa4dfccb4
CRs-Fixed: 774533
2022-05-20 04:54:21 -07:00
Sheenam Monga
d933925871 qcacld-3.0: Set LPI power when safe mode is enabled
i.) Keep rf test mode ini disabled by default due to which
6G security check will be true.

ii.) while calculating TPC power, check safe mode & RF test
mode enabled or not and set power mode to LPI if
safe mode or Rf test mode is enabled.

iii.) During HE ops IE extarct set power type to VLP, if
6 G Hz info is not present in HE ops IE. So that power
type can be VLP in case ap_ctry is non US.
To get safe mode value, a new member is_safe_mode_enabled
is added in mlme private object and is set whenever
WIFI_TEST_CONFIG_6GHZ_SECURITY_TEST_MODE command is triggered
via userspace.

Change-Id: I4fc2a231f8e7d18e68b92af3f381456113668779
CRs-Fixed: 3192967
2022-05-20 04:54:21 -07:00
Madan Koyyalamudi
6f75f6340d Release 5.2.1.22F
Release 5.2.1.22F

Change-Id: Ibb66b1bafeb60690ff7aa860285e862d5742b2c8
CRs-Fixed: 774533
2022-05-20 03:14:35 -07:00
Jianmin Zhu
9426a796bb qcacld-3.0: Fix race condition when accessing vdev peer list
While one thread delete peer from vdev peer list, set entry's next as
itself, another thread accesses the deleting entry of the peer list,
and access it's next, deadloop and use after free will happen.

To fix it, add vdev lock when access vdev peer list, same as delete peer
from vdev peer list.

wlan_obj_vdev_peerlist_remove_peer
qdf_list_remove_node
->list_del_init
->INIT_LIST_HEAD
->WRITE_ONCE(list->next, list);

Change-Id: Icc288035837869e73c247837a24785f70822d671
CRs-Fixed: 3200030
2022-05-20 03:14:34 -07:00
Aditya Kodukula
528c2ec29c qcacld-3.0: Increase the buffer size for MLO LL_STATS
As part of MLO stats feature, increase the LL_STATS buffer size
from 3 pages to 6 pages.

Change-Id: Iecfa663fcf1c6b8c98c7f0582258e3954cebe0a6
CRs-Fixed: 3201372
2022-05-20 03:14:29 -07:00
Madan Koyyalamudi
47d42c4d66 Release 5.2.1.22E
Release 5.2.1.22E

Change-Id: I9e13269bda9293c09693d3bfb41c61a569d0cae0
CRs-Fixed: 774533
2022-05-19 21:10:07 -07:00
abhinav kumar
e55b348ab0 qcacld-3.0: Register latency level event call back handler
Issue : Host fails to register the event call back handler
again in case Wi-Fi is turned on and triggered a reboot.

Because even after reboot, at a point of time when the host
is registering event callback handler, the host does not
receive FW capability flags yet in mlme context and this
results in FW caps check failure every time while call back
registration.

The fix is to allow the host to register to call back handler
irrespective of FW flags and add capability check in callback
handler.

Change-Id: I1dd66279097db6a68885b0416076428b73eefb9c
CRs-Fixed: 3196030
2022-05-19 21:10:07 -07:00
Madan Koyyalamudi
eea97168f2 Release 5.2.1.22D
Release 5.2.1.22D

Change-Id: I0cd306f8f18219fd53ca73452bd4ce6fd3305181
CRs-Fixed: 774533
2022-05-19 08:06:24 -07:00
Surya Prakash Sivaraj
78f492d53c qcacld-3.0: Select PSC channel from ACS list
Currently, when the ACS frequency list contains only
6GHz frequency and mandatory channel list doesn't
contain any 6GHz frequencies, then the 6GHz frequencies
are filtered out from PCL.

Therefore, driver falls back to the master ACS frequency
list to choose the SAP operating frequency. Add a check
to not choose non-PSC channels, if the frequency is
6GHz.

Change-Id: I7539a99987df200d50a812409cc5df7c3dfb05a7
CRs-Fixed: 3198675
2022-05-19 08:06:23 -07:00