Commit Graph

29904 Commits

Author SHA1 Message Date
jinbao liu
e422b88c9d qcacld-3.0: Take MLO into account when getting linkSpeed
This change takes MLO connection into account when running getLinkSpeed

Change-Id: I7a62fac5b987718c55544e28e8f7f71ef637242d
CRs-Fixed: 3564681
2023-08-17 09:42:28 -07:00
Rahul Choudhary
7752b4a0d1 Release 5.2.1.77D
Release 5.2.1.77D

Change-Id: I1219f48917f5a80fbc89c41b774ca7dd76f193ea
CRs-Fixed: 774533
2023-08-17 01:39:00 -07:00
Abhinav Kumar
be6f4c4190 qcacld-3.0: Add support for Channel load request frame
As per new requirement, to improve Wi-Fi Roaming behavior
DUT should support channel load request received as part
of rrm measurement.

The Channel Load request/report pair returns the channel
utilization measurement to AP as observed by the measuring
STA.

Change-Id: Idf1b5581222e1fbed3426d94edd8768234ff6a43
CRs-Fixed: 3580180
2023-08-17 01:39:00 -07:00
Abhinav Kumar
da7a492dcd qcacld-3.0: Add support to process channel load rrm frame
Add support to process channel load request and response
rrm frame.

Measurement Request field format for Channel Load request:
1. Operating Class --> 1 bytes
2. Channel Number --> 1 bytes
3. Randomization Interval --> 2 bytes
4. Measurement Duration --> 2 bytes
5. Optional Subelements --> variable length

Optional subelement IDs for Channel Load request:
1. Channel Load Reporting (ID = 1)

Measurement Report field format for Channel Load report:
Operating Class --> 1 bytes
Channel Number  --> 1 bytes
Actual Measurement Start Time --> 8 bytes
Measurement Duration --> 2 bytes
Channel Load  --> 1 bytes

Change-Id: I692040266e4294f58e492dac6f32002461c0efd3
CRs-Fixed: 3580157
2023-08-17 01:38:54 -07:00
Rahul Choudhary
52a7e4db6c Release 5.2.1.77C
Release 5.2.1.77C

Change-Id: Id9ad37f36100c94f78e22a3d31cd066e04d385e3
CRs-Fixed: 774533
2023-08-16 19:16:26 -07:00
Aditya Kodukula
d82b9641ac qcacld-3.0: Add sysfs replacement for set bitrates
Add a sysfs replacement for the deprecated WEXT commands
set11NRates, set11ACRates and set_11ax_rate.

Change-Id: I7823660f377d4d4aeb8df2d88b6a871b9ec33ec2
CRs-Fixed: 3588225
2023-08-16 19:16:26 -07:00
Rahul Choudhary
e9ba7dbdc4 Release 5.2.1.77B
Release 5.2.1.77B

Change-Id: I78d277c71087db9f99e14f89f6b79e349aba42bb
CRs-Fixed: 774533
2023-08-16 13:35:43 -07:00
Sheenam Monga
59dda31a80 qcacld-3.0: Add support to get and parse Measurement Req for STA stats
Add support to get STA statistics Request element from Measurement
Report Request and to parse the IE, so that measurement report can
be created accordingly.

Change-Id: I249238076498c23234de79f5064d7638a46746ab
CRs-Fixed: 3583986
2023-08-16 13:35:43 -07:00
Jyoti Kumari
4f6b354391 qcacld-3.0: Move tSapChSelSpectInfo structure to mlme component
Move tSapChSelSpectInfo structure from sap component to mlme
component so that it can be use by LL_SAP as well

Change-Id: Ic3c2919054326aca3530071df27d425bb78a699a
CRs-Fixed: 3561182
2023-08-16 13:35:37 -07:00
Jinwei Chen
5368fdf91e qcacld-3.0: skip sending DHCP indication message if host suspended
Scenario:
(1) Host entered into system suspend.
(2) FW received DHCP Req and trigger WOW wake up.
(3) Host send WMI_WOW_HOSTWAKEUP_FROM_SLEEP_CMDID to FW.
(4) FW reinject RX DHCP Req to REO, send WMI_WOW_WAKEUP_HOST_EVENTID
    to host.
(5) Since DP RX thread has been disabled, host DP receives DHCP Req
    and do DHCP inspection directly, send DHCP indication message
    to FW, but wmi_handle->is_target_suspended is true,
    trigger crash.
(6) Host set wmi_handle->is_target_suspended to false only after receiving
    WMI_WOW_WAKEUP_HOST_EVENTID.

Solution:
skip sending DHCP indication message if host suspended and DP RX
thread is not enabled, do not update sta_info->dhcp_nego_status,
then TX DHCP ACK won't do dp_post_dhcp_ind() in this case as well.

Change-Id: Ie4c414357ed7547ee9b882f3ec659bfe91b6b20d
CRs-Fixed: 3585743
2023-08-16 13:35:31 -07:00
Sheenam Monga
bfb9c2812c qcacld-3.0: Add support to send Measurement Report for STA stats
Add support to send Measurement Report in response of STA statistics
Measurement Request.

Change-Id: I4671129a5352f2f96ae21606a8af671859013113
CRs-Fixed: 3583989
2023-08-16 13:35:26 -07:00
Amruta Kulkarni
8b495ff353 qcacld-3.0: Update mlo_support_link_num from cfg to ini
Change made to mlo_support_link_num from cfg to ini parameter.

Change-Id: I02251725fca7d0d550e87d806dda82f542e18879
CRs-Fixed: 3588980
2023-08-16 13:35:20 -07:00
Will Huang
4428d4840a qcacld-3.0: Allow DFS channel if band restriction restore
Currently if SAP start on DFS channel and band restrict to 2 GHz, it
will move to 2 GHz channel and when band restore it can not move back
to original DFS channel, it may lead to concurrency fail in some 4 SAP
scenario.

Because wlan_reg_is_enable_in_secondary_list_for_freq() only check
channel ENABLE state and ignore DFS state, replace it to
!wlan_reg_is_disable_in_secondary_list_for_freq() so that original
DFS channel can be selected.

Change-Id: Ie39564c51a4a54e76a5df6e639961f82f30d9e16
CRs-Fixed: 3586421
2023-08-16 13:35:15 -07:00
Rahul Choudhary
f1dca6aae8 Release 5.2.1.77A
Release 5.2.1.77A

Change-Id: Idf85d65221a3afede14f6b9fce2c6a7c8d0e83e9
CRs-Fixed: 774533
2023-08-16 02:16:45 -07:00
Chunquan Luo
84e5c78f0e qcacld-3.0: Revert RSSI vendor attr api to nla_put_u32
The reverts commit 35160f2ec7 ("qcacld-3.0: Signal value on
p2p-go mode error").
Since vendor command attribute already submit to open source,
we can't change the QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RSSI_MGMT
and QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RSSI_DATA and
QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RSSI_ACK to signed 32 bit.
So, revert the api of nla_put_s32 to nla_put_u32.

Change-Id: I70514c4edfd12a401a3549839075b657ed5e6a5a
CRs-Fixed: 3566162
2023-08-16 02:16:45 -07:00
Rahul Choudhary
c37ebe5212 Release 5.2.1.77
Release 5.2.1.77

Change-Id: I1db7454ae03511eaaeb52d5a00f1526a39d15ec7
CRs-Fixed: 774533
2023-08-15 15:09:25 -07:00
Aditya Kodukula
6f08e2feb6 qcacld-3.0: Disable Hide Mac address feature in consolidate builds
Currently, WLAN_TRACE_HIDE_MAC_ADDRESS feature is enabled in both GKI
and consolidate builds. But, this feature is needed only in GKI builds.
So, disable this feature in consolidate builds.

Change-Id: Iaca5c693746a2b57acdf3bb730be4dbbc34649f0
CRs-Fixed: 3588354
2023-08-15 15:09:25 -07:00
Rahul Choudhary
2b91d230dc Release 5.2.1.76Z
Release 5.2.1.76Z

Change-Id: Iea462b90ea1b078a6327e3ab0a4e99b4bd29d403
CRs-Fixed: 774533
2023-08-15 12:13:44 -07:00
Sheenam Monga
1a9e02c65f qcacld-3.0: Validate on going CP stats request
Currently, there is no check to stop new CP
stats request if any other CP request is in progress
which may cause issue due to updation of callback
function infra_cp_stats_resp_cb as per new request
before getting stats from FW for previous request.

Change-Id: Id31fd9e6bba7c1130af7bbc29b18baaa07b5bf04
CRs-Fixed: 3580194
2023-08-15 12:13:43 -07:00
Rahul Choudhary
3ff12d1e69 Release 5.2.1.76Y
Release 5.2.1.76Y

Change-Id: I78a0f01940b264d49cda75b997408d1eaf4f1b8b
CRs-Fixed: 774533
2023-08-15 06:28:31 -07:00
Nijun Gong
75b8edf980 qcacld-3.0: Add support for contiguous multi-page allocation
Add config option for enabling physically contiguous multi-page
allocation, and enable the same for qca6174.

CRs-Fixed: 3588484
Change-Id: Ib649cbb6e3d3e5b00a5e8f94cde99f621fa9b124
2023-08-15 06:28:31 -07:00
Rahul Choudhary
04ca4777e9 Release 5.2.1.76X
Release 5.2.1.76X

Change-Id: Ie88c0ac1bab03740f2c4579aa4eb8c9c2481f933
CRs-Fixed: 774533
2023-08-14 21:57:34 -07:00
Namita Nair
0f8629ae12 qcacld-3.0: Add check to find IPA iface_ctx based on vdev_id
IPA APIs currently depend on the net_dev value to distinguish
between the IPA iface_contexts, during setup and cleanup calls.
Due to single net_dev multi vdev change, this check is not
valid anymore and causes overwrite of the IPA iface contexts.
This change adds a check to also compare the vdev_id along with
net_dev to properly distinguish between the iface contexts.

Change-Id: I9cbd827f0d6393a83a9aedb17d68c5f8fe143e05
CRs-Fixed: 3585635
2023-08-14 21:57:34 -07:00
Pragaspathi Thilagaraj
a32d78eca4 qcacld-3.0: Validate CSA frequency and bandwidth
Check if the provided channel width and center frequency
are valid in current regulatory domain for CSA. If its not
valid reject the CSA request, since invalid center frequency
sent to firmware in vdev start command can cause abnormal
behavior.

Validate the STA csa frequency in lim_is_csa_channel_allowed()

Change-Id: I40de080bb7a929a350d28eb45352bce4f60a9f1d
CRs-Fixed: 3541748
2023-08-14 21:57:28 -07:00
Aditya Kodukula
7ed5313613 qcacld-3.0: Add a sanity check before sending mlo ll_stats
Currently in the function wlan_hdd_send_ll_stats_req, we send
mlo_ll_stats to userspace without checking the response for
ll_stats request. This causes an issue, when we the ll_stats
request is unsuccessful and host tries to send the stats to
userspace. So, to avoid this issue, add a sanity check before
sending mlo_ll_stats to userspace.

Change-Id: I71ad4938551dc7be49c15f95b81ea37cf0c9c731
CRs-Fixed: 3587011
2023-08-14 21:57:23 -07:00
Bing Sun
d2878dd917 qcacld-3.0: Enable the Export Symbol config by default
Enable the Export Symbol config by default because it is a basic
requirement for other modules to use our driver.

Change-Id: I8c1b71fe921db53013d998e36e11f2d388a2eacf
CRs-Fixed: 3586360
2023-08-14 21:57:18 -07:00
Rahul Choudhary
058e159dc1 Release 5.2.1.76W
Release 5.2.1.76W

Change-Id: I4de022ec25a16af0d1c34fca15503e8f981c616b
CRs-Fixed: 774533
2023-08-14 18:56:44 -07:00
Abhinav Kumar
75f3c668b1 qcacld-3.0: Correct the debug print for TX BW
Host driver log of the TX rate bandwidth is not
correct in wlan_hdd_update_rate_info.

Change-Id: I2d27090d4108c905c997f872fa428df1df556fac
CRs-Fixed: 3586147
2023-08-14 18:56:44 -07:00
Rahul Choudhary
e5f2a4dd14 Release 5.2.1.76V
Release 5.2.1.76V

Change-Id: Iac548f28b2a7fbc41d4b438d156b7cbceaef015f
CRs-Fixed: 774533
2023-08-14 15:21:51 -07:00
Amit Mehta
df8318fd9f qcacld-3.0: Set enable_rpm earlier in hdd_wlan_start_modules
Currently enable_rpm is being set in hif_rtpm_start
which is called later in hdd_wlan_start_modules,
this can result in race between hif_rtpm_start
and hif_rtpm_put.

To fix the issue set enable_rpm earlier to avoid
race condition.

Change-Id: Id33888d7df570dd68657a780fc636203e4b84b90
CRs-Fixed: 3585156
2023-08-14 15:21:50 -07:00
Yu Ouyang
4bf8ee08e7 qcacld-3.0: Append secondary wlan number to LOCAL_MOD_NAME
For dual wlan chip, local module name will be same once TARGET_MULTI_WLAN
is set to true. For example, for dual HST, two wlan driver modules will
be created. If TARGET_MULTI_WLAN is true, two modules qca6390 will be
created.

So append number to secondary module. One is qca6390, the other is
qca6390_2.

Change-Id: Icbf51e278ced30b90ce4c726ba812d15b7aee7a2
CRs-Fixed: 3578003
2023-08-14 15:21:45 -07:00
Rahul Gusain
fa7ef9dc94 qcacld-3.0: Exchange CSID cap & GTK params
To support group NDP security, WiFi-HAL and firmware introduces
two new parameters (csid_cap and gtk_required) in NDP initiator
request, responder requestor and NDP indication event.

Host driver will retrieve the CSID capabilities and GTK parameter
and parse it to firmware in NDP Initiator and Responder request
TLV. Also, driver extract these parameters from NDP indication TLV
and will passes to Wifi-HAL in vendor event.

Change-Id: I4487559491754edafaccafa466512d6380b826b3
CRs-Fixed: 3583149
2023-08-14 15:21:40 -07:00
Rahul Choudhary
9295d3a374 Release 5.2.1.76U
Release 5.2.1.76U

Change-Id: I79d706ae1a8b38fadb1c163431e834fdf5daa95e
CRs-Fixed: 774533
2023-08-13 23:57:54 -07:00
Aasir Rasheed
cc9e1cf08f qcacld-3.0: Add check to prevent TWT CMD during suspend
Flush TWT commands when cfg80211 suspend is in progress
and schedule them for execution when cfg80211 resumes.
This prevents WMI from crashing due to concurrent
WMI_WOW_ENABLE_CMDID and twt requester enable commands
during suspend.

Change-Id: I505b789805d8a83564bf25d3f6c5c28d6d390966
CRs-Fixed: 3567817
2023-08-13 23:57:54 -07:00
Asutosh Mohapatra
30f5d91700 qcacld-3.0: Keep bonded channels enabled for SET_FCC_CHANNEL 0/2
Currently host disables all 6 GHz channels and keeps only
STA connected channel enabled. If STA bandwidth is greater
than 20 MHz kernel send disconnect as the bonded channels
are disabled.
Similarly for STA + SAP SCC case, if STA bandwidth is
20 MHz and SAP bandwidth is greater than 20 MHz kernel
sends stop_ap as the bonded channels are disabled.

To address above scenarios, for standalone STA case
keep the bonded channels enabled and for STA + SAP
SCC case keep the bonded channels enabled for STA and
SAP.

Change-Id: I901e2697e83085e5656d13c2c8cdb9c70696cbc1
CRs-Fixed: 3575989
2023-08-13 23:57:48 -07:00
Paul Zhang
e68d5c4019 qcacld-3.0: Use peer's mac instead of BSSID
This change is to use peer's mac for TDLS link
key instead of BSSID.

Change-Id: Ife05a742bb98c094e57d5ff6c17a2211f6cd7765
CRs-Fixed: 3583232
2023-08-13 23:57:42 -07:00
Rahul Choudhary
dd6ace8727 Release 5.2.1.76T
Release 5.2.1.76T

Change-Id: Ifa7e48ccd50a6f86774b21d681fbb87bc0710e42
CRs-Fixed: 774533
2023-08-12 04:20:42 -07:00
Paul Zhang
d8e7d9c0cc qcacld-3.0: Init medium assess timer
Currently the medium assess timer is initialized and destroyed
when SAP start or stop. Since the timer is shared by SAPs, it
causes timer leak issue with the complexity of SAP + SAP
concurrency.

To resolve this issue, initialize and destroy the timer when
vendor command is issued.

Change-Id: I2e6a7e92e5d7053712c1825669d002982e2051d6
CRs-Fixed: 3584388
2023-08-12 04:20:41 -07:00
Will Huang
08aee1da75 qcacld-3.0: Check tb[] pointer before access the content
In function wlan_hdd_check_is_acs_request_same(),
tb[QCA_WLAN_VENDOR_ATTR_ACS_LAST_SCAN_AGEOUT_TIME] is not checked
before dereference, it is optional if refer to this IE in function
__wlan_hdd_cfg80211_do_acs, correct this coding error.

Change-Id: I87262bd071d4dec9e6795bdf32ff7007cd2254d9
CRs-Fixed: 3585225
2023-08-12 04:20:37 -07:00
Rahul Choudhary
d1f1a03e82 Release 5.2.1.76S
Release 5.2.1.76S

Change-Id: Ib2aafbc738dd140d97d32e9675b3a80325085e2a
CRs-Fixed: 774533
2023-08-11 22:45:09 -07:00
Paul Zhang
ee98b703d8 qcacld-3.0: Race issue when link switch happens
For N-link, TDLS sends discovery request on different links
and starts timer to receive discovery response. There is one
race issue: if link switch happens before the timer stopped,
the timer count is reset because disconnection happens.

To resolve this issue, return if timer count is reset in
timer callback.

Change-Id: I7603de507f59dd988d70daad52fd4f4a2aa48d51
CRs-Fixed: 3586393
2023-08-11 22:45:09 -07:00
Rahul Choudhary
db46fed034 Release 5.2.1.76R
Release 5.2.1.76R

Change-Id: I16fc1eeb404cd81e00c7348d915a90903bb40ef0
CRs-Fixed: 774533
2023-08-11 19:23:57 -07:00
Vishal Miskin
268783d48e qcacld-3.0: Implement User defined OPM mode
Allow userspace to configure power save inactivity timeout and
opm speculative wake interval through vendor NL interface.
STA enters into power save mode(PM=1) after TX/RX inactivity of
time duration specified by QCA_WLAN_VENDOR_ATTR_CONFIG_PS_ITO
in milliseconds.

STA speculatively wakes up to look for buffered data by AP at
QCA_WLAN_VENDOR_ATTR_CONFIG_SPEC_WAKE_INTERVAL interval after
entering into power save. If configured zero, STA wakes up at
upcoming DTIM beacon.

Change-Id: I86cbd35d6f61ae600b4784bd95209fac62021941
CRs-Fixed: 3567042
2023-08-11 19:23:57 -07:00
Vishal Miskin
a9c42d3d8f qcacld-3.0: Move OPM parameters to PMO module
Store OPM parameters in PMO per vdev context.

Change-Id: I97b84171db434af0e43246d61416b37849728a6d
CRs-Fixed: 3567042
2023-08-11 19:23:51 -07:00
Vishal Miskin
6a7f372d75 qcacld-3.0: Add User defined OPM and g_wow_spec_wake_interval INI
Pass g_wow_spec_wake_interval along with g_wow_data_inactivity_timeout
to firmware through WMI which are used in WOW mode. These configs are
honored by firmware when User defined OPM is set.

Change-Id: I24306e8aa0b7b3f7fce9453f6a98d4922b7c3f62
CRs-Fixed: 3567042
2023-08-11 19:23:44 -07:00
Surya Prakash Sivaraj
adf275a6c6 qcacld-3.0: Fix wrong bandwidth upgrade for STA
STA connected to an 2.4 GHz BSS fails to get IP
due to VDEV restart triggered by bandwidth upgrade.
Wrong bandwidth upgrade happens upon the reception
of the first beacon after connection.

Beacon opmode change logic considers supported channel
width cap in the HT capability IE to retrieve the
bandwidth of 2.4 GHz BSS. However, the AP can support
both 20 & 40 MHz, so using this capability will lead to
wrong bandwidth upgrade.

Use the recommended channel width set from HT Info IE
to retrieve the proper bandwidth.

Change-Id: Icf07501a97f34125158ea643a9e5b848a5b18e3e
CRs-Fixed: 3585499
2023-08-11 19:23:38 -07:00
Pragaspathi Thilagaraj
94762fd248 qcacld-3.0: Enable TDLS on link vdev after roaming
After roaming TDLS is enabled only on associated vdev and
it remains disabled on link vdev. This causes TDLS peer
update to be sent with TDLS disabled on that vdev.

Enable TDLS on link vdev after roaming.

Change-Id: I7fe42ea2eebe02ae282965cfa6116f1e35de4490
CRs-Fixed: 3583163
2023-08-11 19:23:33 -07:00
Vinod Kumar Myadam
54797b19a9 qcacld-3.0: Fix in accessing pre_cac adapter
Trying to get the pre_cac adapter by iface before its created,
which will return NULL always, leads to pre_cac open failure.

Remove accessing the pre_cac adapter before create.

Change-Id: I31363d0ff8eb39fb1b16d3be20743d26fc7469a2
CRs-Fixed: 3586239
2023-08-11 19:23:27 -07:00
Rahul Choudhary
4577079468 Release 5.2.1.76Q
Release 5.2.1.76Q

Change-Id: I72f2f3ba24f7b535822b0d116502afd771a0498a
CRs-Fixed: 774533
2023-08-11 14:59:11 -07:00
Ashish Kumar Dhanotiya
6b2ec385a2 qcacld-3.0: Add helper APIs in policy manager
With this change add below helper APIs:
1. API to get number of SAP interfaces.
2. API to get number of beaconing interfaces.
3. API to get all active SAP interface channels and vdev ids
4. API to get all active beaconing interface channesl
and vdev ids.

Change-Id: Ib4781ff529fce494772cc12c7921c914adf5555b
CRs-Fixed: 3579760
2023-08-11 14:59:11 -07:00