Commit graph

23,138 commits

Author SHA1 Message Date
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
Balaji Pothunoori
3de98015b1 qcacld-3.0: Do not allow SAP SCC on non-PSC/non-VLP channels
SAP is allowed to come up on SCC with a STA operating
in 6 GHz only if the STA is on a PSC channel in VLP mode.
Therefore, filter out all 6 GHz channels from the PCL if
the STA operates on any non-VLP mode. Also, in case of
VLP mode, filter out non-PSC channels.

Change-Id: I37d9a510db3647fc07858af99eb614ebe824cc78
CRs-Fixed: 3206471
2023-09-26 08:34:54 -07:00
Rahul Choudhary
c5827e1fec Release 2.0.8.33U
Release 2.0.8.33U

Change-Id: Ie06814bddbd448823e9259523ddd556a22658459
CRs-Fixed: 774533
2023-09-20 08:10:33 -07:00
Abhishek Singh
825f5aa55d qcacld-3.0: Fix cb mode calculation for 2.4 GHz
If user configure to not use 40 MHz in 2.4 GHz, then avoid setting
40 MHz capability and use cb mode as
WNI_CFG_CHANNEL_BONDING_MODE_DISABLE for 2.4 GHz.

Change-Id: I4e9153e211e02f6b959e16dad4573c2b490cb215
CRs-Fixed: 3584510
2023-09-20 08:10:33 -07:00
Huashan Qu
9c63678288 qcacld-3.0: Add extended capabilities IE length check
When send assoc req frame, if the length for extended capabilities
IE is zero, but present field is non-zero, it will cause assoc req
frame malformed issue.

Fix is to set present field value to zero when the length for
extended capabilities IE is zero.

Change-Id: Ie8826e6cfb1fc3a44ee52115ad4482e040f2c38a
CRs-Fixed: 3085943
2023-09-20 08:10:26 -07:00
Lincoln Tran
7983019735 qcacld-3.0: Modify condition to send 6GHz HE caps
The 6GHz HE capability macros were backported from kernel version 5.8
into 5.4, so change the check for kernel version to simply check for
the macro definition itself.

Change-Id: I86a9dfa964356ba65bd21ffef802042d442356bc
CRs-fixed: 2960286
2023-09-20 09:20:15 +08:00
Lincoln Tran
e5213aa282 qcacld-3.0: Send 6G HE caps to userspace
New checks have been added in userspace to verify the 6GHz HE
capabilities before allowing the connection. These capabilities
are not currently being shared by host. Add logic to send the
6GHz HE capabilities to userspace.
Also, add APIs to get capabilities from MLME component.

Change-Id: I3d2bbe0d87be6094b6fc74ce01d0e418873cbc6f
CRs-fixed: 2931130
2023-09-19 01:29:31 -07:00
Rahul Choudhary
ba323a20eb Release 2.0.8.33T
Release 2.0.8.33T

Change-Id: I2606195171c2fa37116b8df62417c11c1926c7fc
CRs-Fixed: 774533
2023-09-13 01:08:03 -07:00
Srinivas Dasari
bba79e41cd qcacld-3.0: Allow SAP to move to unsafe channel if ini allows
User may set the ini param g_sta_sap_scc_on_lte_coex_chan=1 if SAP
is allowed to come up on unsafe channels. Currently, this doesn't
cover the below case,
1. SAP is enabled on a 5 GHz channel in a non-DBS platform
2. Concurrent STA enabled and connected it to an AP that's in
   unsafe channel.
3. SAP doesn't move to the STA channel though the ini to enable
   force SCC(gWlanMccToSccSwitchMode) is set and it's a non-DBS
   platform as the target channel(STA channel) is unsafe channel.

Allow SAP to move to unsafe STA channel if the ini
g_sta_sap_scc_on_lte_coex_chan is set to true.

Change-Id: I3e2b8ae57e843a938e4799f473da87664dbabb85
CRs-Fixed: 3609503
2023-09-13 01:08:03 -07:00
Rahul Choudhary
d45bd3de33 Release 2.0.8.33S
Release 2.0.8.33S

Change-Id: I7952d3ac6569b7bd6e21882b7dfce1076db41c45
CRs-Fixed: 774533
2023-09-07 15:08:20 -07:00
Dundi Raviteja
f6906d481f qcacld-3.0: Fix possible overflow for pcl weight list
Add sanity check for index with NUM_CHANNELS and pcl_sz
when add 2.4 GHz channel list.

Change-Id: I04ac1bcdb6720a4740be7c2f5e08f76b3c34d8c4
CRs-Fixed: 3025000
2023-09-07 15:08:20 -07:00
Rahul Choudhary
1d1c2e7f9a Release 2.0.8.33R
Release 2.0.8.33R

Change-Id: I673afac62e29584c17105ba45784afcfde0348ab
CRs-Fixed: 774533
2023-08-25 01:07:54 -07:00
Venkateswara Naralasetty
c73dbe2305 qcacld-3.0: Skip FISA aggregation if RDI is zero
Skip the FISA aggregation and drop the frame if the reo destination
indication is zero in the packet TLVs.

Change-Id: I9bd02652bf321202f6b59e6da98fc6959ab93413
CRs-Fixed: 3426355
2023-08-25 01:07:54 -07:00
Rahul Choudhary
f8c186a9fb Release 2.0.8.33Q
Release 2.0.8.33Q

Change-Id: I55bbf3fe31ac6c742e73410efd703abe1342ebef
CRs-Fixed: 774533
2023-08-14 07:21:20 -07:00
Vinod Kumar Myadam
5dd1ccf148 qcacld-3.0: Fix read current country code
In populate_dot_11_f_ext_chann_switch_ann API, will read current country
code from mac context which is not have the updated country code.

So, read the current country code directly from regulatory API,
wlan_reg_read_current_country.

Remove unused variables mac->scan.countryCodeCurrent,
mac_ptr->scan.countryCodeDefault and tagCsr11dinfo->countryCode.

Change-Id: Ice64ef1be5b775125ff3bcacfcab7684c6833cad
CRs-Fixed: 3529808
2023-08-14 07:21:20 -07:00
Rahul Choudhary
9db74b24de Release 2.0.8.33P
Release 2.0.8.33P

Change-Id: I01ebe6afe8464bd52c45d091d7da5916e5927cd2
CRs-Fixed: 774533
2023-08-07 13:15:45 -07:00
Abhinav Kumar
cf6155cdc3 qcacld-3.0: Issue disconnect on STA while start/stop SAP
For STA+SAP/GO concurrency support from GUI, In case if
START/STOP AP/GO request comes just before the SAE
authentication completion on STA, SAE AUTH REQ waits for
START/STOP AP RSP and START/STOP AP RSP waits to complete
SAE AUTH REQ.

Driver completes START/STOP AP RSP only upon SAE AUTH REQ
timeout(5 sec) as start/stop ap will be in serialization
pending queue, and SAE auth sequence cannot complete as
hostap thread is blocked in start/stop ap cfg80211 ops.

To avoid above deadlock until SAE timeout, abort the SAE
connection immediately and complete START/STOP AP/GO asap
so that the upper layer can trigger a fresh connection
after START/STOP AP/GO completion.

Change-Id: I96de1bb27dfc669ccf920a90cf86a3cb54e68354
CRs-Fixed: 3452943
2023-08-07 13:15:45 -07:00
Rahul Choudhary
f8e71e1d58 Release 2.0.8.33O
Release 2.0.8.33O

Change-Id: I15d8290dc92070cfd380639c8119c179038d59a6
CRs-Fixed: 774533
2023-08-02 04:26:00 -07:00
Surya Prakash Sivaraj
31539d898b qcacld-3.0: Update VHT Channel width in assoc resp
The AP adds OMN IE in the assoc response, and changes
its operating channel width during association. The
STA must move to this new channel width and update it
to the firmware during peer assoc. Since, the STA
doesn't update the channel width properly, it leads
to retries in the higher bandwidth where the AP is
not currently operating.

The VHT channel width calculation in the host driver
is not equipped to handle the new VHT OP IE definition.
Differentiate the VHT operating channel width field in
the VHTOP IE based on the ccf1.

Change-Id: Ibc3dc91ecc091a307244e3e1359dfe9e4520f277
CRs-Fixed: 3205020
2023-08-02 04:26:00 -07:00
Rahul Choudhary
6c43030bad Release 2.0.8.33N
Release 2.0.8.33N

Change-Id: Id906820680f9b0a30101bc8597dcb30b4d33046e
CRs-Fixed: 774533
2023-08-01 11:58:20 -07:00
Balaji Pothunoori
c2524faf67 qcacld-3.0: Fill proper SGI for VHT Rx data packet
Due to limitation uCode always filling SGI as long in
rx_msdu_start_tlv.
This change is to update SGI for VHT Rx data packet which is
extracted from WMI_VDEV_SMART_MONITOR_EVENTID.

Change-Id: I5fcdc463ea2a6d83253e39cc377a2471aeb4e133
CRs-Fixed: 3459106
2023-07-14 06:43:55 -07:00
Rahul Choudhary
3e51b2ee8e Release 2.0.8.33M
Release 2.0.8.33M

Change-Id: I5cf4e612cfbf0b2eb97473f5009e6991e92dbe6d
CRs-Fixed: 774533
2023-07-12 02:42:08 -07:00
Sai Pavan Akhil Remella
af6dbcdfe2 qcacld-3.0: Remove interface up dependency for usable channels
Currently for QCA_NL80211_VENDOR_SUBCMD_USABLE_CHANNELS vendor
command STA interface should be UP and running. During STA/SAP
concurrency when STA is disabled SAP cannot get the usable channels
from driver since STA iface is brought down by Wifi HAL.

These changes remove interface running dependency for get usable
channels vendor command.

Change-Id: I3760adda2ce258f428f2b803112ab25503e97b60
CRs-Fixed: 3517894
2023-07-11 20:05:32 -07:00
Rahul Choudhary
e497bde953 Release 2.0.8.33L
Release 2.0.8.33L

Change-Id: Id6926128d04ec244a8f0df421715ea2207bcb44c
CRs-Fixed: 774533
2023-07-10 07:16:09 -07:00
Balaji Pothunoori
21aa15dc9f qcacld-3.0: Fix data rate for mgmt tx packets in packet capture mode
Currently, data rate for management tx packets is filled only as
1 or 6 Mbps which is wrong.
Sniffer expect data rate multiple of 2. Hence fill the data rate with
multiple of 2 for tx management packets which received from firmware
and converting into mbps.

Change-Id: I5dd6515804cd3751925af0992a30a7441ebf9bbb
CRs-Fixed: 3444177
2023-07-07 19:34:03 +05:30
Rahul Choudhary
37807a72d7 Release 2.0.8.33K
Release 2.0.8.33K

Change-Id: Ide32768dada9ff3cae12bd0c44390d363d5446de
CRs-Fixed: 774533
2023-07-06 05:58:07 -07:00
Pragaspathi Thilagaraj
43957256d4 qcacld-3.0: Fix RSO state change in disconnected state
When roaming has started and connect request from userspace
is received, disconnect is initiated as part of the connect
request and RSO stop->RSO Deinit is sent to firmware. But
before receiving the RSO stop, firmware posted the Roam Synch
indication to the host driver. While droping the roam
synch indication, the driver does abort roaming and as part of
that RSO state is changed to RSO enabled in connecting state.

Change the RSO state to RSO enabled only if roaming or roam synch
indication processing is in progress.

Change-Id: I7869d1a559884480708b9d1a493296a443364f0b
CRs-Fixed: 3089165
2023-07-06 05:58:06 -07:00
Rahul Choudhary
f651822692 Release 2.0.8.33J
Release 2.0.8.33J

Change-Id: Id623278a255b23cc2fc874963f3e7b83685f5119
CRs-Fixed: 774533
2023-07-06 03:45:49 -07:00
Pragaspathi Thilagaraj
a5e7c6d861 qcacld-3.0: Reset wait for hw mode change event
Hw mode change in progress is set after the set_hw_mode
command is queued in serialization. Its not reset in below
cases:
Active command timeout case, serialization command
cancelled case.

Before connect request is queued, if hw mode change is in
progress, there is 6 secs wait and if there is no hw mode
change response, connection failure. This causes subsequent
connection failures and there is no recovery.

Reset the wait for hw mode change event in serialization
command failure cases.

Change-Id: I716982f06198e9c3495685ddb158044778c4b1ff
CRs-Fixed: 3256424
2023-07-04 13:17:30 +05:30
Rahul Choudhary
d7ec458298 Release 2.0.8.33I
Release 2.0.8.33I

Change-Id: Ia9132c4e6236d41d77cf2bb265d5c87a42802714
CRs-Fixed: 774533
2023-07-03 11:38:07 -07:00
Ananya Gupta
007fd08652 qcacld-3.0: Pause Tx when bus suspend in progress
In SAP due to intrabss forwarding, Tx ring update is going through
when WOW enable command has been sent to FW. This results in crash.
To fix this, set is_tx_pause flag when suspend sequence starts,
which will pause Tx ring HP update.

Change-Id: I81f25b8bfca917c95180c460fd932c0f75094c10
CRs-Fixed: 3295428
2023-07-03 11:38:07 -07:00
Ananya Gupta
919505139f qcacld-3.0: Drop packets if suspend in progress
Currently, there is a race condition where packet gets
enqueued when WOW handshake is being done in parallel during
bus suspend resulting in assert in FW as Tx is aborted when
WOW command is received in FW.
To fix this, hdd_wlan_suspend_in_progress flag is set to drop
packets in SAP mode when APSS suspend is in progress.

Change-Id: I38a6a6bdf9858f627205f75f75f351f7debbb7f7
CRs-Fixed: 3227752
2023-07-03 11:38:02 -07:00