Wykres commitów

19211 Commity

Autor SHA1 Wiadomość Data
Asutosh Mohapatra
d549261151 qcacmn: Add new cfg item to disable SP AP connection to VLP STA
Add a new cfg item to drop connection request if
AP is operating in 6 GHz SP mode and STA doesn't
support SP mode but supports VLP mode.

Change-Id: Icbe109abecdd73ceedee8ecec45ae82cd47464e0
CRs-Fixed: 3470599
2023-05-10 09:28:24 -07:00
Asutosh Mohapatra
9387aca043 qcacmn: Remove relaxed_6ghz_conn_policy cfg item
relaxed_6ghz_conn_policy cfg item is no longer needed
with new regulatory policy as there is no dependency
on STA, AP country code to find 6 GHz power mode for
connection and also connect request should be rejected
if AP is advertising VLP and STA doesn't support VLP.

Hence remove this cfg item and the related APIs.

Change-Id: I215939bdce2e08eb9d4c5286487941198ab19232
CRs-Fixed: 3470569
2023-05-10 09:28:13 -07:00
Asutosh Mohapatra
459cea50e2 qcacmn: 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: I6e3b9fc4bf7445c58681ef0ea8e45b434851a5b6
CRs-Fixed: 3456182
2023-05-10 09:28:01 -07:00
Nidhi Jain
fc6a569241 qcacmn: Add pdev params for 11az TB Ranging RSID range
Add pdev param to send RSID range to FW for 11az TB Ranging.

Change-Id: I834bb7b56a3ffed1e7db6db70bd72500359178de
CRs-Fixed: 3479571
2023-05-10 00:28:44 -07:00
Surya Prakash Raajen
8171e77523 qcacmn: Add recovery mode support in shared memory
Add api support to read the pointer to recovery mode in shared
memory, this pointer will store the if the mode recovered is
mode1 or mode0

Change-Id: I9e8dbd32c62dbb75d27d590a5013b4a9837fae24
CRs-Fixed: 3458369
2023-05-09 21:48:39 -07:00
Jianmin Zhu
c99051300b qcacmn: Fix wlan_reg_extract_puncture_by_bw API arguments num issue
wlan_reg_extract_puncture_by_bw should have 6 arguments.

Change-Id: I42e5b78ea052dcfdd7b5dfded7deb79f8a923c1a
CRs-Fixed: 3490286
2023-05-09 19:28:05 -07:00
Chunquan Luo
f5b5040c04 qcacmn: Add roam fail reason which fw update
Roam background scan abort, driver print roam result
failed, but current ap is still connected.
Add roam background scan abort reason  for roam fail
reason.

Change-Id: I32bc7202f1f49f9d36e2f2e49bce6e30ea36fa7b
CRs-Fixed: 3477755
2023-05-09 19:27:41 -07:00
Chunquan Luo
ddf72f1453 qcacmn: Add a vendor specific roam status of background scan abort
When user space triggers a scan, the firmware aborts background scan,
and uses the roam status QCA_ROAM_FAIL_REASON_CURR_AP_STILL_OK instead
of "Invalid roam failures reason".

Change-Id: I8a6ed222342398d21d87e7d31956426f3c99cba0
CRs-Fixed: 3481633
2023-05-09 19:27:30 -07:00
Abhishek Singh
9266c2d271 qcacmn: Fix cm req accessed outside cm req or CM lock
wlan_cm_get_rnr, uses the cm request without lock and pass the
pointer to the caller instead of passing a copy.

Fix it by copying the rnr info while holding the lock. and move the
cm req access logic to core from dispatcher.

Change-Id: I72861021d98b996a379a2917874b5dadbc37c6af
CRs-Fixed: 3483871
2023-05-09 13:33:47 -07:00
Pavankumar Nandeshwar
89f62ba1f3 qcacmn: Include DS tx desc usage in global desc limit check
Make sure the global tx desc usage limit is honored by
direct switch as well.

Change-Id: Ie84edb08a8bd6c6a18338caf21328245bd70a8bc
CRs-Fixed: 3486130
2023-05-09 11:05:42 -07:00
Vijay Raj
1214390842 qcacmn: Remove unused connectivity log for datapath events
Diag logging is used for logging datapath event such
as EAPOL and DHCP events

Remove legacy logging mechanism for datapath events

Change-Id: I8a987c1a4ab9954c7662e2f76e7904b02619f661
CRs-Fixed: 3470476
2023-05-09 08:49:37 -07:00
aloksing
7856b6f99e qcacmn: Add check for frame control version
PMAC is giving fatal when mgmt packet is getting queued
with non-zero version in frame control

Adding a check for version before queueing mgmt packets.

Change-Id: I606513b6ce027f1126e9cd40a9909886441de240
CRs-Fixed: 3422973
2023-05-09 06:30:20 -07:00
Biswajit Dash
d62608cb2a qcacmn: Hybrid mld netdev support
-Support to route IGMP packet to correct netdev coming from
 legacy and mld sta.
-Support to detect mld model based on ini setting

Change-Id: I10ea5af9a4315642b262c8404d7bebd88ee06ab1
CRs-Fixed: 3467808
2023-05-09 06:30:09 -07:00
Asutosh Mohapatra
f16ad481d6 qcacmn: Fill 6 GHz rules in pdev_priv_obj as per availability
Currently host only fills LPI rules in pdev_priv_obj. If
country supports  VLP, SP then host doesn't fill these
reg rules and advertises the same to kernel. This results
in zero 6 GHz channels in scan list shared by kernel.

To address this issue, fill LPI rules or VLP rules or
SP rules as per availability.

Change-Id: I4c00009d6124a1cd1371c7ac537186e79e51beb6
CRs-Fixed: 3470612
2023-05-09 04:07:20 -07:00
Sai Pratyusha Magam
1d681b7823 qcacmn: Use vdev macaddr for GTK/BIGTK PN fetch from FW
Use vdev macaddr instead of bcast addr for GTK/BIGTK PN fetch.
Also, copy back TX PN back to hostapd.

Change-Id: I98fc7a78c194c84de6554a684d3ce14f66772040
CRs-Fixed: 3370635
2023-05-09 04:07:08 -07:00
Amruta Kulkarni
c16aa9d544 qcacmn: Add handling for mlo link disable event
Add code changes to handle new wmi_mlo_link_disable_event
Extract the wmi event params and store in host defined
structure.

Change-Id: I6893bfa4da7b27f4a9b1ce2936057bb3576a317c
CRs-Fixed: 3458680
2023-05-09 01:48:41 -07:00
Harsh Kumar Bijlani
2b2a9fc6c8 qcacmn: Fix double accounting of peer stats in DS mode
Fix double accounting of peer stats in DS mode

Change-Id: Ie58a24a125726868a2f0039842668506d02b2263
CRs-Fixed: 3488317
2023-05-08 14:25:40 -07:00
Pavankumar Nandeshwar
e8bf99b94f qcacmn: Honor Umac reset trigger atomically
Make sure the Umac reset state is updated when
the trigger is received only after checking
Umac reset in progress flag.

Change-Id: I2c6ac68bee5b69b1f083a109646cb6bf61d8cdd6
CRs-Fixed: 3487388
2023-05-08 09:56:40 -07:00
nobelj
fffa314bff qcacmn: Add support to invoke debug function before assert
qdf assert always, assert without debug information.
Added support to dump needed information before assert.

Change-Id: I19898ec11c1bade4340cf1737a760d9507012f12
CRs-Fixed: 3480596
2023-05-08 06:43:24 -07:00
jinbao liu
98787f1dc0 qcacmn: Fix a RX MCS index issue in HT mode
Currently driver obtains RX MCS index from RX MSDU TLV END of a
data frame. According to the specification, the MCS index should
starts with 8 rather than 0 when NSS=2 in HT mode. However, the
original RX MCS index from HW starts with 0, thus SW needs to
get a final MCS index by adding an offset when NSS=2 in HT mode.

Change-Id: Iba5f9976958233fc283513caf0184e59774ab50a
CRs-Fixed: 3471953
2023-05-08 04:09:32 -07:00
Ripan Deuri
534c9c36a9 qcacmn: CDP op to update DL flow ref count in SAWF
CDP op to update DL flow ref count in SAWF.

Change-Id: If348c53f82361f03b7457bd485d99e42d3b3431a
CRs-Fixed: 3484316
2023-05-08 04:09:11 -07:00
Nidhi Jain
501d972a64 qcacmn: Change WLAN_UMAC_MAX_AID for 11az TBR RSTA
Change WLAN_UMAC_MAX_AID from 2008 to 1991 for reserving
1992-2007 value from AID pool for 11az TBR rSTA ranging.

Change-Id: I4e6a85d28c1391649ecc748d9b61167760858088
CRs-Fixed: 3479547
2023-05-08 01:31:26 -07:00
Santosh Anbu
7cec0b5b10 qcacmn: Add host AST entries for WDS peers
Add change to support addition of host AST entries for WDS peers.

Change-Id: I81b936d7274784c9b178e32aa9ccfaf86f884f0f
CRs-Fixed: 3472985
2023-05-08 01:31:14 -07:00
Chaithanya Garrepalli
04643dcb9b qcacmn: Fix deadlock issue
Fix deadlock issue in dp_rx_wds_add_or_update_ast

Change-Id: If32eb881da92a48e14f513d6bcf89e5bb64d0198
CRs-Fixed: 3487767
2023-05-07 20:45:24 -07:00
Gangadhar Kavalastramath
a143b042df qcacmn: Correct reg rules for CC GB
Correct reg rules for CC GB.
a. Change CHAN_5250_5330_16 to CHAN_5250_5330_12 to mark
   radar frequency range.

b. Change CHAN_5735_5875_7 to CHAN_5735_5875_4 and to remove
   radar marking.

Change-Id: Ie82e64fa444b6bcca3a6a31cb419179081e1c669
CRs-Fixed: 3447292
2023-05-07 18:11:09 -07:00
Amit Mehta
2debf5d6e6 qcacmn: Add support to print per link stats
Add support to print per link stats

Change-Id: Ifd1c1b5c075401a1545bcaaf76e1c79706a86974
CRs-Fixed: 3442916
2023-05-07 18:10:59 -07:00
Venkateswara Naralasetty
4a88f7af4c qcacmn: change in static window mapping for WCN6450
Use qca6750 static window configurations for WCN6450.

Change-Id: I6b5eef653312474a99b07aab0112edf6211005aa
CRs-Fixed: 3483052
2023-05-07 13:25:19 -07:00
Chaithanya Garrepalli
6605c27dcc qcacmn: Handle ppe peer setup for QCA5332 platform
As ppe_ds is not supported on QCA5332 platform, in
case of MLO peer always setup ppe peer using primary
peer

Change-Id: Icd05b69c07c05fe2fc793f49fcf28b5d58bc8bb6
CRs-Fixed: 3480359
2023-05-07 13:25:09 -07:00
nobelj
ba2e146b5a qcacmn: Add fix to update msdu start bit and other bits in nbuf
Add fix to update msdu start bit and other bits in network buffer.

Here is the list of bits set in network buffer
	a. msdu start bit,
	b. msdu end bit,
	c. packet is MCBC and da bit is set
	d. da valid bit is set
	e. sa valid bit is set

Change-Id: I2abf346de36a7f5ac7f86b33615145bb02065dc2
CRs-Fixed: 3479230
2023-05-05 11:34:44 -07:00
Gangadhar Kavalastramath
0af47f96fe qcacmn: Cleanup host regdb
Below code changes are made
1. Correct 5 GHz reg rules for APL 26/27 RDs.
   i. APL26 changes
      a. CHAN_5170_5330_3 is split into CHAN_5170_5250_8 and
         CHAN_5250_5330_12 To mark missing radar frequency range.
      b. CHAN_5490_5730_3 changed to CHAN_5490_5730_5 to mark the
         frequency range as radar indication range.
   ii. APL27 changes
      a. CHAN_5250_5330_10 and CHAN_5490_5730_4 are changed to
         CHAN_5250_5330_7 and CHAN_5490_5730_1 respectively to mark the
         frequency range as radar indication range.

2. Remove duplicate entry CHAN_5735_5835_8 (duplicate of CHAN_5735_5835_1)

Change-Id: Ib9d0e7455d489451da8beb71175e9a9b4ff6d3ca
CRs-Fixed: 3447101
2023-05-05 01:56:43 -07:00
Ripan Deuri
8866260ca4 qcacmn: Add module-id for SAWF
Add module-id for SAWF to be used in the qdf-trace framework.

Change-Id: I53a044a2f41b18a232063bd18c5508104e0e34cb
CRs-Fixed: 3475867
2023-05-04 13:50:22 -07:00
Gururaj Pandurangi
a11201af17 qcacmn: Clear peer-level negotiated T2LM mapping
Clear the peer-level tid-to-link mapping and set
direction to invalid if-
1) Host receives updated T2LM info through
critical update.
2) There are two T2LM elements received in beacons
and mapping switch time expires for first mapping.
Apply the second mapping.
3) There is a single T2LM element and its mapping
switch time expires. Apply default mapping.

Also, initialize peer-level mapping structure
when a new peer is created.

Change-Id: I1d06ec5f2f5aa398724213a3be08b6588f78c9b0
CRs-Fixed: 3435329
2023-05-04 13:50:11 -07:00
Gangadhar Kavalastramath
e9cae94508 qcacmn: Correct reg rules for CC PK
Correct 5 GHz channels reg rule for CC PK.
a. Split CHAN_5170_5330_3 into CHAN_5170_5250_8 and CHAN_5250_5330_12
   to mark missing radar frequency range mark.
b. Change CHAN_5735_5875_8 to CHAN_5735_5875_3 to change regulatory
   power value to 30.

Change-Id: I48027de034a0cf39fe8135ffdb180b8b3fcf133e
CRs-Fixed: 3459453
2023-05-04 13:49:58 -07:00
Sai Rupesh Chevuru
cdbbebd6f8 qcacmn: handling of mcast in proxy arp along with MLO MCAST
handling multicast packets in the case of proxy arp
along with MLO MCAST.

1. stamp the host inspected bit for GSN based packets.
2. trigger dp_tx_proxy_arp from the reinject handler.

Change-Id: I8aea1e4fd4e61f4cc6a5dd6d8b5151c1a9bf2fac
CRs-Fixed: 3465975
2023-05-04 13:49:48 -07:00
Jyoti Kumari
e663fa7cd3 qcacmn: Check whether vdev supports mlo cap or not
Scenario: There is dual sta present in HBS mode in DUT where one
sta is on wlan0 interface and it has 11be capability, so it has
formed ML connection with ML AP. The another STA is present on
wlan1 interface and this STA also supports 11be capability. But
as per current design, host supports 11be with MLO. It doesn't
support 11be alone. Also 11be with MLO is supported only in wlan0
interface. So for another connection which are present in wlan1
interface, even if it supports 11be host will downgrade to 11ax
and form connection.

During the formation of second connection, host will sends peer
create command(WMI_PEER_CREATE_CMDID) to firmware. Before sending
this command, host checks only eht cap in cm_create_bss_peer()
and fills the mld_mac addr. Because of that, DP assumes that
there is an ML connection and it creates MLD peer on wlan1
interface. Due to this, it causes ping failure on wlan1 interface
as the ICMP response might be coming on incorrect peer and it's
getting dropped.

As part of fix, check eht cap as well as vdev is mlo supported or
not in cm_create_bss_peer()

Change-Id: I60dbb8ee91025266d0b9b48075dc2db9a407e015
CRs-Fixed: 3454128
2023-05-04 11:35:10 -07:00
Gangadhar Kavalastramath
2ce6fe3db6 qcacmn: Correct reg rules for APL25
Correct wrong frequency mapping for APL25 RD.
a. CHAN_5170_5330_3 is split into CHAN_5170_5250_8
   and CHAN_5250_5330_12 to mark missing radar frequency
   range.

b. CHAN_5490_5730_9 is split into CHAN_5490_5590_4 and
   CHAN_5650_5730_4 to mark the frequency range as radar
   indication range.

c. Remove unused reg rule CHAN_5490_5570_1

Change-Id: Iabeba570c1c0edde9221db9bc38beac59de6e179
CRs-Fixed: 3447198
2023-05-04 07:26:55 -07:00
Jeevan Kukkalli
794367b541 qcacmn: Return missing link and mon desc and free associated buffers
It is observed that in some corner cases msdu count received
in montior destination ring descriptor is unreliable as a
result some of the link descriptor and associated monitor buf
descs are not returned. This change return such missing link/buf
descriptors and free associated buffers.

Change-Id: Iaad476b8e7a0372122981fd29c1f6e4685137817
CRs-Fixed: 3483157
2023-05-04 04:35:03 -07:00
SHIVAM KUMAR
2c3de7f375 qcacmn: RNR Neighbor ap changes for Big-Endian
Wireshark give RNR Neighbor AP bit swap which cause the RNR issue.
Create a index and bit size macro for Neighbor AP Information 
field of Reduced Neighbor Report element to fix the issue

CRs-Fixed: 3462470
Change-Id: Id894bb094e3a36fe869c3897ee674d517e1e78d1
2023-05-04 01:35:37 -07:00
Amit Mehta
239bf915dd qcacmn: Add CDP API to get per link peer stats
Add new CDP API to get per link peer stats.

Change-Id: I5685699601b31341caa655c5fe16655fa3bcc2a4
CRs-Fixed: 3442913
2023-05-04 01:35:28 -07:00
Srinivas Pitla
aff0f6c15a qcacmn: Fix ML peer use after free access
This change fixes accessing of ML peer after it is freed

Change-Id: I0bf02d4996b6db3bd4d5720f0e177bd8bf56868f
CRs-Fixed: 3474594
2023-05-03 18:53:45 -07:00
abhinav kumar
df618544a3 qcacmn: Process get_cu_for_each_subbw driver command
1. Read the new service capability:
WMI_SERVICE_CCA_BUSY_INFO_FOREACH_20 MHz: Via this host knows
whether FW supports reporting of CCA busy info for each 20 MHz
subband of wideband scan channel or not.

WMI_SERVICE_VDEV_PARAM_CHWIDTH_WITH_NOTIFY_SUPPORT: Via this
host knows whether FW supports VDEV param channel width switch
with OMN/OMI notification or not

2. Register osif callback to send scan done indication to upper
layer

3. Add 2 new scan flags pause_home_channel and
report_cca_busy_for_each_20 MHz

Change-Id: I63d561a3c5f8e49a3ca42d956e6b630c63edeaf4
CRs-Fixed: 3460901
2023-05-03 04:58:20 -07:00
Ripan Deuri
6bc59d4929 qcacmn: Add UMAC ID and LMAC tx ops for SAWF
Add UMAC ID and LMAC tx ops for SAWF.

Change-Id: I3ef2b8ec53ed891b94dd2f800415dd33f0de29e6
CRs-Fixed: 3479786
2023-05-03 02:24:27 -07:00
Shivam Kumar
c56fd10862 qcacmn: Fix use-after-free access in wmi_unified_detach
wmi_handle is accessed after free to set wow_enable_ack_failed flag.
Move this to correct place to fix use-after-free access

Change-Id: I8cc956bd433776adda3ff6cca26e7c164877184d
CRs-Fixed: 3485102
2023-05-03 00:03:39 -07:00
Amruta Kulkarni
586ea4f8b0 qcacmn: Fix to not send T2LM info multiple times
Currently host is sending t2lm info to firmware multiple
times when mapping switch time expires.
Fix is to check if new beacon/prb response has updated
mapping before sending the t2lm information.

Change-Id: I10182652bf77ede2dd94bedbc1c3a76a6bc3a7ff
CRs-Fixed: 3438997
2023-05-02 17:59:05 -07:00
Dhananjay Latkar
5e217e2980 qcacmn: Create a bitmask for enabled sawf parameters
This bitmask is used in RM app to detect and enable SLA support

Change-Id: I0dbf8b2b89aa810478821c3f3eba66024ff01422
CRs-Fixed: 3480807
2023-05-02 12:24:23 -07:00
Rakesh Pillai
cdab8dab71 qcacmn: Code movement to enable multipass support without WDS
Currently the code to support Multipass on SAP is
present along with the code to support WDS. Hence with
the code in its current state, we will not be able to
enable Multipass support without enabling WDS.

Move the multipass support code out of the WDS support
code, to be able to enable Multipass for chipsets which
do not use WDS.

Change-Id: Id17035f1ada9bde56ca2c61fd4688fa3454b0b11
CRs-Fixed: 3479991
2023-05-01 14:40:03 -07:00
Aditya Kodukula
0e1360e358 qcacmn: Fix field-spanning kernel warning during driver load
Currently in driver, we use memcpy() to copy data stored
in log buffers to multiple fields in the struct tAniHdr.
But from kernel 6.1, if FORTIFY_SOURCE feature is enabled,
then kernel warns of field-spanning.

To resolve this issue, assign a void pointer to the struct
and use it in memcpy().

Change-Id: If4d089f4118c573ef57b87b83f9a350da1674b2b
CRs-Fixed: 3465600
2023-05-01 12:10:10 -07:00
Pavankumar Nandeshwar
a631906ba4 qcacmn: Free the tx descriptors borrowed by DS
Free the tx descriptors borrowed by direct switch
back to regulartx desc pools.

Change-Id: I2898e57ce5eff54c1787dbebd166482d9fbfc585
CRs-Fixed: 3444334
2023-04-29 07:18:53 -07:00
Kenvish Butani
e8753b5a36 qcacmn: Fix ref leaks for vdev and peer
Fix ref leaks for vdev and peer in DP

Change-Id: If75b7dd1d96d211c2360ef65052e19e783c9ea40
CRs-Fixed: 3469902
2023-04-29 07:18:41 -07:00
Hariharan Basuthkar
b33c5ecbf3 qcacmn: Add support for AFC payload reset for proxy mode
In the AFC Enterprise mode, the AFC response-payload may need to be
reset from host. The payload reset is done by sending
WMI_SERVICE_AFC_RESET_SUPPORT subtype in the WMI_AFC_CMD to the target.

In response, the target sends the WMI_AFC_EVENT_TIMER_EXPIRY event with
WMI_AFC_EXPIRY_EVENT_SWITCH_TO_LOW_POWER_MODE (in indoor deployment) or
WMI_EXPIRY_EVENT WMI_AFC_EXPIRY_EVENT_STOP_TX (in outdoor deployment)
event subtype to the host.

Earlier, the WMI_AFC_EVENT_TIMER_EXPIRY event was sent only in
non-enterprise mode. Now, since it can be sent for both enterprise and
non-enterprise mode, we need to take care of 'afc_reg no action",
which is mandatory in case of enterprise mode.

Therefore, implement the following changes:

1) Call trigger_acs_for_afc only if afc_reg_no_action is not set.
2) Send the AFC payload reset event during SWITCH_TO_LPI and STOP_TX
   event, and free the AFC payload received from the target.
3) Add APIs to register a callback to send the AFC payload reset event.

Change-Id: Ib5b3a6f51bbdf2061460fd957ca3c0ba66f23fa9
CRs-Fixed: 3462953
2023-04-29 05:17:33 -07:00