Commit graph

23,169 commits

Author SHA1 Message Date
Srikanth Marepalli
2fc57e4e2b qcacld-3.0: Add support for security scoring
Add support for security score. On the basis of score,
host will select AP for initial connection and roaming.

Change-Id: I041a1b0c1456d7f01dd07e9b282996c56755655e
CRs-Fixed: 3782215
2024-04-20 21:58:56 -07:00
Ravindra Konda
e3e8d39bc9 Release 2.0.8.34O
Release 2.0.8.34O

Change-Id: Idb551df84423b1a981d0270a4c988410d5a9aaff
CRs-Fixed: 774533
2024-03-13 01:07:39 -07:00
Surya Prakash Sivaraj
ecb72b8f9b qcacld-3.0: Return vendor abort status to userspace
Host completes scan, however due to memory allocation
failure, driver cannot send the scan completed event to
the userspace. After timeout, supplicant sends vendor
scan abort to the driver. However, driver doesn't send
the failure status(because driver doesn't have any active
scan to abort). Since, the status code is sent as 0,
supplicant keeps waiting for the scan completed status
event from host.

Send the vendor abort failure reason to the userspace, so that
the supplicant can clear out scan-in-progress flag.

Change-Id: I771b7d3d76c7d7aea58ac3d02665bd43da00e222
CRs-Fixed: 3707469
2024-03-13 01:07:38 -07:00
Ravindra Konda
294609f190 Release 2.0.8.34N
Release 2.0.8.34N

Change-Id: I3aca37689c27035da32cb42e06c7457cfd5bfcb4
CRs-Fixed: 774533
2024-02-29 15:12:54 -08:00
Srikanth Marepalli
ee62a9fdf0 qcacld-3.0: Reset roaming_in_progress upon VDEV down
Currently roaming_in_progress is set during ROAM_START event from
firmware and reset after ROAM_SYNC_COMPLETE or ROAM_ABORT or
ROAM_HO_FAIL event. But in suspend mode there can be scenario
that firmware sends the ROAM_HO_FAIL first being a wakable event,
followed by ROAM_START event which is non-wakable. Here the
roaming_in_progress bit gets reset and then set. But due to
HO_FAIL the host triggers the disconnection. And during this
currently the roaming_in_progress is reset during VDEV down in
all the cases except HO_FAIL. Hence reset the roaming_in_progress
during VDEV down in all cases irrespective of the VDEV stop type.

Change-Id: I53428b8a43769ed891bdc3e93b11207fe47a1939
CRs-Fixed: 3745192
2024-02-29 15:12:53 -08:00
Ravindra Konda
d32175f446 Release 2.0.8.34M
Release 2.0.8.34M

Change-Id: I389ed6c66c6ac93aa73ca8d5da82b9da5ad0379a
CRs-Fixed: 774533
2024-02-06 13:27:27 -08:00
Aditya Kodukula
8d2b166b55 qcacld-3.0: Add a sanity check to prevent integer overflow
Currently in the function hdd_send_roam_scan_channel_freq_list_to_sme,
the num_chan variable is declared as uint8_t and is incremented
for each nested attribute PARAM_SCAN_FREQ_LIST.

If the number of attributes sent by userspace is more than max value
of uint8_t, then an integer overflow occurs.

To avoid this issue, add a sanity check to see if num_chan has reached
SIR_MAX_SUPPORTED_CHANNEL_LIST before incrementing variable.

Change-Id: I601a73a118eb65ebb8575f6ed5ed1f29d915f59e
CRs-Fixed: 3568577
2024-02-06 13:27:26 -08:00
Ravindra Konda
e09fe88706 Release 2.0.8.34L
Release 2.0.8.34L

Change-Id: If29a8120271d32dd6d935344238b20dbd65bec6b
CRs-Fixed: 774533
2024-01-24 02:45:38 -08:00
Dundi Raviteja
525d10c802 qcacld-3.0: Fix possible spinlock acquire after destroy
qdf_conc_list_lock from policy manager is destroyed as part of
idle shutdown, later when FW down indication comes it is trying
to acquire as part of ucfg_dp_bus_bw_compute_timer_stop.

So call ucfg_dp_bus_bw_compute_timer_stop function in
hdd_soc_recovery_cleanup after checking driver status.

Change-Id: I27164a4b11467aee6c925225fe33d4fdbe0b4082
CRs-Fixed: 3689606
2024-01-24 02:45:38 -08:00
Ravindra Konda
a3a8c7162c Release 2.0.8.34K
Release 2.0.8.34K

Change-Id: I8696dfd566f3f2f65f9bcd4eeb95ee09ac180d49
CRs-Fixed: 774533
2024-01-19 07:18:06 -08:00
Surya Prakash Sivaraj
b1e97d2edb qcacld-3.0: Find 6 GHz power type for connection channel
Currently host doesn't check if power type is supported
for connection channel while calculating best 6 GHz
power type for connection. This results in calculation
of incorrect power for connection values if 6 GHz power
type is not supported for that particular channel.

To address this issue configure power type for connection
only if that power type is supported for connection
channel.

Change-Id: I7e4ccdb962974cc8c415e8d174b2da0bf311f1a5
CRs-Fixed: 3697212
2024-01-19 07:18:05 -08:00
Surya Prakash Sivaraj
3ec26461cd qcacld-3.0: Find best 6 GHz power type for connection
Find the best 6 GHz power type for connection
according to following regulatory policy:
1) SP power type is selected only if AP advertises
   SP and client supports SP.
2) LPI power type is selected only if AP advertises
   LPI and client supports LPI.
3) VLP power type is selected for the below cases,
   a) AP advertises VLP and client supports VLP
   b) AP advertises SP but client doesn't support
      SP but supports VLP.
   c) AP advertises LPI but client doesn't support
      LPI but supports VLP.

Change-Id: I582fb582e1e11b731a1c6cda01f4fc366f166143
CRs-Fixed: 3456192
2024-01-19 07:17:59 -08:00
Ravindra Konda
dc2a8a0860 Release 2.0.8.34J
Release 2.0.8.34J

Change-Id: I18e4ae869a2e90be214ee3719e9288bb2ffe31c0
CRs-Fixed: 774533
2023-12-29 01:58:39 -08:00
Srikanth Marepalli
8580e33717 qcacld-3.0: Add vendor attribute for high RSSI roam trigger threshold
Currently the roam scan high RSSI delta is configured via INI.
Define an attribute to allow user configure high RSSI roam
trigger threshold. STA is expected to trigger roam if the current
connected AP's RSSI gets above this high RSSI threshold. STA's
roam attempt on high RSSI threshold aims to find candidates from
other better Wi-Fi bands.
This attribute value is given priority over the INI.
Use a new service bit WMI_SERVICE_5GHZ_HI_RSSI_ROAM_SUPPORT to
enable high RSSI roam trigger in 5 GHz as well.

Change-Id: Ide48ad2261b603de36bd1b31114b91c3a9d6606f
CRs-Fixed: 3586170
2023-12-29 01:58:38 -08:00
Ravindra Konda
d46056dd98 Release 2.0.8.34I
Release 2.0.8.34I

Change-Id: Ib3ae851e373c589d260c02204c3dd2e465159d5d
CRs-Fixed: 774533
2023-12-20 08:53:19 -08:00
Aravind Kishore Sukla
53765ee138 qcacld-3.0: Ignore CSA request for invalid channel
In present scenario, STA disconnects with AP if it receives
invalid channel in CSA IE. In this case STA shouldn't
disconnect with AP as this request may come from a spoof AP.

Ignore this CSA request as it might be from spoof AP and
if it is from genuine AP heart beat failure happens and
results in disconnection. After disconnection DUT may
reconnect to same or other APs.

Change-Id: I840508dd27d8c313a3e8f74c4e1f5aa64eecf6f9
CRs-Fixed: 3390251
2023-12-20 08:53:19 -08:00
Ravindra Konda
00cbf68f69 Release 2.0.8.34H
Release 2.0.8.34H

Change-Id: I313a8371a1d4063dba675f9c8018ddabeee467df
CRs-Fixed: 774533
2023-12-19 23:20:15 -08:00
Surya Prakash Sivaraj
8d9acc2cd3 qcacld-3.0: Check ch_width for dot11f vht and he caps
Currently as STA, when populating channel width set, only max BW
advertised by target are considered. However issue is that due to
regulatory limitations, the max BW advertised may not be the real
operating BW used by our device. Under such conditions, there'll
be conflicts between AP's view of our capablities and the real
ones host configured to target.

Therefore when populating supported channel width set for VHT and HE
capabilities, take current session's channel width into account so
so that capabilities advertised could correctly reflect current
running configurations.

Change-Id: Ib072c3e4d36d5c3fbd5504d94a936175d1a92db0
CRs-Fixed: 3047338
2023-12-19 23:20:14 -08:00
Surya Prakash Sivaraj
8a29e58646 qcacld-3.0: Higher Bandwidth support 80/80+80/160 in 2.4 GHz Band
Higher Bandwidth support 80/80+80/160 is enabled on 2.4 GHz Band.

Modififed the population of peer capability logic to disable
80+80/160 based on the band.

Change-Id: I8319ef3fcd93676bca1115a088a926a772545d24
CRs-Fixed: 3030837
2023-12-19 23:20:06 -08:00
Ravindra Konda
da83dfacea Release 2.0.8.34G
Release 2.0.8.34G

Change-Id: I0d8ec33a21b546ab02e8e038c4a66d6acb6edf88
CRs-Fixed: 774533
2023-11-27 05:33:58 -08:00
Sai Pavan Akhil Remella
a065e1ad33 qcacld-3.0: Extract 6 GHz AP power type from HE IE
Extract the 6 GHz AP power type from HE IE before
setting the power type in STA. By default, power type
is set to LPI.

CRs-Fixed: 3631944
Change-Id: I84c00bdca3358299c6ef919975328558b2928353
2023-11-27 05:33:57 -08:00
Asutosh Mohapatra
9097651291 qcacld-3.0: Do not allow connection if STA VLP not supported
If country code for AP and STA are same and if STA does not
support VLP mode for a particular channel and if AP power
type is misconfigured to VLP mode, do not allow connection
to that AP as per regulatory guidelines.

Change-Id: I5c9759d1e8077e83f7b28985253be871213c8385
CRs-Fixed: 3375815
2023-11-27 05:33:51 -08:00
Ravindra Konda
50f4e8971b Release 2.0.8.34F
Release 2.0.8.34F

Change-Id: Ia6f0d6c68610c30d84064e26e50e342c85cfb642
CRs-Fixed: 774533
2023-11-03 07:12:29 -07:00
Surya Prakash Sivaraj
c2ccd06e39 qcacld-3.0: Initialize vhtcap and vhtop IE variables
Initialize vht_cap and vht_op pointers in the
sch_bcn_update_opmode_change API.

Change-Id: If57723978d4c1dcced6b1fac4b50b541cc5bab04
CRs-Fixed: 3213123
2023-11-03 07:12:29 -07:00
Ravindra Konda
03236a2f25 Release 2.0.8.34E
Release 2.0.8.34E

Change-Id: Ie185686a49c71ec51f4fb616a4894c309b326908
CRs-Fixed: 774533
2023-11-02 07:05:38 -07:00
Surya Prakash Sivaraj
83d1f7a4b0 qcacld-3.0: Fix incorrect channel width downgrade
After the connection is established with HE160/VHT160 AP,
the STA downgrades the channel width to VHT80/HE80, leading
to 50% TPUT reduction.

The associated beacon processing doesn't consider the new VHT OP
IE definition while parsing the channel width. Fix the channel
width processing in the beacon processing.

Change-Id: Icd7d36a8352be7574474fb5f37fa9b4ca291aa04
CRs-Fixed: 3211833
2023-11-02 07:05:37 -07:00
Ravindra Konda
4014002552 Release 2.0.8.34D
Release 2.0.8.34D

Change-Id: I1364ce5410b7ddcdad849538192c72508641e655
CRs-Fixed: 774533
2023-11-01 03:08:19 -07:00
Shudan Liu
48d936e8dc qcacld-3.0: Free HE op element memory for change interface
Currently host driver does not free the memory for HE
operation from cache connection info when it receives change
interface from STA to SAP mode which results in mem leak.

To address above issue, free HE operation element memory on
STA to SAP interface change.

Change-Id: I837640814459a62d819e606fc44adc9bfc60fe5c
CRs-Fixed: 3045848
2023-11-01 03:08:18 -07:00
Ravindra Konda
f16f18986f Release 2.0.8.34C
Release 2.0.8.34C

Change-Id: I502f9af75299521e429406acc54a46801d36fb46
CRs-Fixed: 774533
2023-10-25 07:10:56 -07:00
Surya Prakash Sivaraj
95bf309c3e qcacld-3.0: Stop SAP if all channels are disabled
User disables all the channels when the SAP is in
operation, and policy manager restart sap functionality
cannot get any valid channels and SAP also doesn't stop.
Later, kernel stops the SAP, since it is operating on an
invalid channel.

To fix this, restart the SAP on a valid channel only if
atleast one valid channel is available. Otherwise, stop
the SAP instead of waiting for kernel to stop the SAP.

CRs-Fixed: 3617706
Change-Id: Ia613b8e9585ff19aae9bf97ea5d0fc230ae41c5f
2023-10-25 07:10:56 -07:00
Surya Prakash Sivaraj
541869fab1 qcacld-3.0: Restart SAP if current channel is disabled
Currently when host receives disable channels command, it
disables the channels and if SAP is on it checks if SAP is
on one of the disabled channels in that case host stops the
SAP.
Based on current requirement host should restart the SAP,
with this change add support to restart the SAP if it is
operating on disabled channel.

Change-Id: I89ce21a8707e2c0af0737116b883be13503044e0
CRs-Fixed: 2885308
2023-10-25 07:10:49 -07:00
Linux Build Service Account
dab1555175 Merge "qcacld-3.0: Modify condition to cover 5G+160MHz" into wlan-cld3.driver.lnx.2.0.8 2023-10-23 22:39:15 -07:00
Shudan Liu
e2ec0a713e qcacld-3.0: Modify condition to cover 5G+160MHz
Add a condition to avoid closing SAP automatically
when set 5g_160Mhz mode

Change-Id: I712a588558874c2c86144e7e729a242007eccf77
2023-10-17 13:19:56 +08:00
Rahul Choudhary
34a8aa2497 Release 2.0.8.34B
Release 2.0.8.34B

Change-Id: I603cf1181599d24943cf064e4d479011fe8ae3d9
CRs-Fixed: 774533
2023-10-16 01:07:41 -07:00
Surabhi Vishnoi
4f5c3f5645 qcacld-3.0: Fix ethertype inspection logic of offload tx data pkt
Offload TX data packets such as ARP response, EAPOL during roaming are
sent by firmware through HTT msg if packet capture mode is enabled.
Whenever any such packet is received via HTT msg, host inspects the
ether type of the packet and matches with the TX filter set by user
via vendor command. If the ether type matches with the TX filter set
by user, then host forwards that packet to packet capture mode interface
otherwise, drops it.

To inspect the ether type of any packet, host uses generic API which
expects packet to be in SKB format. Currently, whenever any offload
TX data packet is received in HTT msg, host wrongly passes the buffer
received in HTT msg instead of SKB to APIs expecting SKB buffer.
This leads to undefined behavior.

So, to fix above issue, whenever any offload TX data packet received,
first allocate the SKB, copy the payload buf of HTT msg which is TX
packet to SKB data and then pass that SKB to the generic APIs to get
the ether type.
Additionally, this change fixes the minor logging error.

Change-Id: If09d49d8a1dcc04ca81454fc262bb5789a0f56be
CRs-Fixed: 3613594
2023-10-16 01:07:40 -07:00
Surabhi Vishnoi
886f080028 qcacld-3.0: Fix condition to forward beacon to packet capture interface
User can set following combination of configs in vendor command for
packet capture mode:

1. PKT_CAPTURE_MGMT_CONNECT_NO_BEACON: to receive all mgmt frames but
   no beacons
2. PKT_CAPTURE_MGMT_CONNECT_NO_BEACON + PKT_CAPTURE_MGMT_CONNECT_BEACON +
   connected_beacon_interval : to receive all other mgmt frames and only
   connected SSID beacons at particular intervals
3. PKT_CAPTURE_MGMT_CONNECT_NO_BEACON +
   PKT_CAPTURE_MGMT_CONNECT_SCAN_BEACON: to receive all other mgmt
   frames and beacons only during scan.

But with current condition connected SSID or scan beacons config will
not be sent to FW as host checks for PKT_CAPTURE_MGMT_CONNECT_NO_BEACON
config only. Also, on reception of any beacon, host checks for only
PKT_CAPTURE_MGMT_CONNECT_NO_BEACON and if it is set, host drops the
beacon which is wrong.
So, enhance the conditions to send config to FW as well as
remove the condition on reception of any beacon so that connected SSID or
scan beacons are forwarded to packet capture interface when connected
beacon interval config or PKT_CAPTURE_MGMT_CONNECT_BEACON  or
PKT_CAPTURE_MGMT_CONNECT_SCAN_BEACON is set by user in vendor command
along with PKT_CAPTURE_MGMT_CONNECT_NO_BEACON config.

Change-Id: I246b175f1c88ed45214527880ba14cdc17bf8206
CRs-Fixed: 3604708
2023-10-16 01:07:34 -07:00
Rahul Choudhary
ff392564b0 Release 2.0.8.34A
Release 2.0.8.34A

Change-Id: I26c2f9b86a3a96fdb5a06e4a0e3188b9b121b20e
CRs-Fixed: 774533
2023-10-12 13:02:41 -07:00
Ashish
7aeed582af qcacld-3.0: Get netdev from wdev instead of iface name
Currently driver uses iface name to get netdev when it processes
ndp responder request. There is a possibility that framework does
not know the iface name when it sends the error response.

if driver does not receive iface name it fails to get the netdev
and fails to perform the dsc operation, because of which driver
drops the ndp responder request command.

To address this issue, use wdev to get netdev instead of iface name.

Change-Id: Ie230f19dbd895f81a4730160cbc9a2de3cc3179d
CRs-Fixed: 3136089
2023-10-12 13:02:40 -07:00
Rahul Choudhary
f3bf58a78f Release 2.0.8.34
Release 2.0.8.34

Change-Id: Id6e2ded1b5e78991311b59e8414838ed3ffe9a49
CRs-Fixed: 774533
2023-10-10 03:02:59 -07:00
Krupali Dhanvijay
561efdbc5c qcacld-3.0: Fix to halve tx power received from TPE IE
AP advertises TPE IE Tx power as 8-bit unsigned int. STA
needs to convert it into an 8-bit 2s complement signed
integer in the range –64 dBm to 63 dBm with a 0.5 dB step.
Thus, halve the tx power received from AP's TPE IE.

Change-Id: Ibd3227a2f11f230b164af3c65a65f5e61879e25d
CRs-Fixed: 3313617
2023-10-10 03:02:59 -07:00
Rahul Choudhary
544a2da64f Release 2.0.8.33Z
Release 2.0.8.33Z

Change-Id: I6754224af90886ef85ff8b4cdbac8ad32c4ae404
CRs-Fixed: 774533
2023-10-09 03:08:18 -07:00
Surabhi Vishnoi
38060e5e3a qcacld-3.0: Release wakelock when psoc idle timer is stopped
Currently, wakelock with timeout is acquired when psoc idle timer is
started to prevent suspend but it is not released when psoc idle timer
is stopped. So, in scenarios where wlan is turned off/on frequently,
psoc idle timer will be started and wakelock with timeout will be
acquired as part of wlan off but after wlan is turned on suspend will
not be allowed until wakelock timeout occurs as wakelock is not released
when psoc idle timer is stopped.

To allow suspend after wlan is turned on, release wakelock which was
acquired as part of wlan off in psoc idle timer start.

Change-Id: I85ad9ce4ae9618a88601295d2194b4033be88c2d
CRs-Fixed: 3578872
2023-10-09 03:08:17 -07:00
Surabhi Vishnoi
d1fe6088f3 qcacld-3.0: Acquire a wakelock whenever packet capture mode is enabled
Whenever packet capture mode is enabled, all packets are forwarded
to host from firmware which causes frequent wakeups if WOW suspend is
allowed. This leads to flooding of WMI transactions due to WOW
suspend/wakeup and other WMI events due to packet capture mode over CE.
So, to reduce number of WMI transactions due to frequent suspend and
then wakeup due to enablement of packet capture mode, acquire a
wakelock and prevent runtime suspend whenever packet capture mode is
enabled.

Change-Id: I71b73e7327e14890dc8509b81b22e8b5611cbac6
CRs-Fixed: 3603566
2023-10-09 03:08:11 -07:00
Rahul Choudhary
e18b53cbd3 Release 2.0.8.33Y
Release 2.0.8.33Y

Change-Id: Iff335f2419fb652fcec562558d89f0abcc664922
CRs-Fixed: 774533
2023-10-04 01:27:58 -07:00
Krupali Dhanvijay
18d65910d6 qcacld-3.0: Update set_disable_channel_list cmd for 6 GHz channels
Currently SET_DISABLE_CHANNEL_LIST command is used to disable
legacy channels only.

Update this command to accept 6 GHz channel input as frequency
along with legacy channels.

Change-Id: Id55493acfa115da059404af1cd3901e877e46632
CRs-Fixed: 3601196
2023-10-04 01:27:58 -07:00
Rahul Choudhary
f94bee2bdd Release 2.0.8.33X
Release 2.0.8.33X

Change-Id: I33c73180a0a8d5e995aaddcef329283fbe239791
CRs-Fixed: 774533
2023-09-29 01:08:32 -07:00
Krupali Dhanvijay
98af2115e0 qcacld-3.0: Don't use reg_cache_channel_state
As part of regulatory cleanup,
reg_cache_channel_state is removed.

So,use reg_cache_channel_freq_state to cache
regulatory channel list instead on
reg_cache_channel_state

Also, replaced Channel Number with Channel freq
in hdd_cache_channel_info()

Change-Id: I5625b8ef4e5173d8f0d03a189ec06144a60bad6a
CRs-Fixed: 2908014
2023-09-29 01:08:32 -07:00
Rahul Choudhary
eeab25d9d8 Release 2.0.8.33W
Release 2.0.8.33W

Change-Id: I7f66442aa4cb0b6e9b5a53072153909c36961203
CRs-Fixed: 774533
2023-09-27 21:22:54 -07:00
Will Huang
77e345df5b qcacld-3.0: Add vendor attribute to configure ARP/NS offload
In some scenario, it is required to receive every ARP/NS packet even
it is not to solicit address itself. So add this vendor attribute
configuration to enable/disable ARP/NS offload on fly.

On some platform, if target suspend to WoW mode, APF filter will drop
such ARP/NS packet in the front, so prevent runtime suspend happen
if disable ARP/NS offload. System suspend still allow in consideration
of potential power impact.

It only support on STA/P2P-Client mode device, and this configure is
optional, while default behavior is ARP/NS offload enable. It will
restore to default behavior if interface being closed.

Change-Id: Icd49e230024bc1ce51519cd9fafee9bc9f79f382
CRs-Fixed: 2974176
2023-09-27 21:22:53 -07:00
Rahul Choudhary
74058400d1 Release 2.0.8.33V
Release 2.0.8.33V

Change-Id: Ie2a0206ac7f2da32e14c70f8d924ffb55d855a07
CRs-Fixed: 774533
2023-09-26 08:34:55 -07:00