Linux wireless drivers development
 help / color / mirror / Atom feed
* [PATCH v2 1/8] dt-bindings: mmc: Document support for nvmem-layout
From: Loic Poulain @ 2026-05-07 15:24 UTC (permalink / raw)
  To: Ulf Hansson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Konrad Dybcio, Jens Axboe, Johannes Berg,
	Jeff Johnson, Bartosz Golaszewski, Marcel Holtmann,
	Luiz Augusto von Dentz, Balakrishna Godavarthi, Rocky Liao,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Simon Horman, Srinivas Kandagatla, Andrew Lunn, Heiner Kallweit,
	Russell King, Saravana Kannan
  Cc: linux-mmc, devicetree, linux-kernel, linux-arm-msm, linux-block,
	linux-wireless, ath10k, linux-bluetooth, netdev, daniel,
	Loic Poulain
In-Reply-To: <20260507-block-as-nvmem-v2-0-bf17edd5134e@oss.qualcomm.com>

Add support for an nvmem-layout subnode under an eMMC hardware
partition. This allows the partition to be exposed as an NVMEM
provider and its internal layout to be described. For example,
an eMMC boot partition can be used to store device-specific
information such as a WiFi MAC address.

Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
---
 .../devicetree/bindings/mmc/mmc-card.yaml          | 24 ++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/Documentation/devicetree/bindings/mmc/mmc-card.yaml b/Documentation/devicetree/bindings/mmc/mmc-card.yaml
index a61d6c96df759102f9c1fbfd548b026a77921cae..b21426a49cf1d9aae5b4e8e447b5be11b08c96bf 100644
--- a/Documentation/devicetree/bindings/mmc/mmc-card.yaml
+++ b/Documentation/devicetree/bindings/mmc/mmc-card.yaml
@@ -40,6 +40,9 @@ patternProperties:
         contains:
           const: fixed-partitions
 
+      nvmem-layout:
+        $ref: /schemas/nvmem/layouts/nvmem-layout.yaml
+
 required:
   - compatible
   - reg
@@ -86,6 +89,27 @@ examples:
                     read-only;
                 };
             };
+
+            partitions-boot2 {
+                nvmem-layout {
+                    compatible = "fixed-layout";
+
+                    #address-cells = <1>;
+                    #size-cells = <1>;
+
+                    mac-addr@4400 {
+                        compatible = "mac-base";
+                        reg = <0x4400 0x6>;
+                        #nvmem-cell-cells = <1>;
+                    };
+
+                    bd-addr@5400 {
+                        compatible = "mac-base";
+                        reg = <0x5400 0x6>;
+                        #nvmem-cell-cells = <1>;
+                    };
+                };
+            };
         };
     };
 

-- 
2.34.1


^ permalink raw reply related

* [PATCH v2 0/8] Support for block device NVMEM providers
From: Loic Poulain @ 2026-05-07 15:24 UTC (permalink / raw)
  To: Ulf Hansson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Konrad Dybcio, Jens Axboe, Johannes Berg,
	Jeff Johnson, Bartosz Golaszewski, Marcel Holtmann,
	Luiz Augusto von Dentz, Balakrishna Godavarthi, Rocky Liao,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Simon Horman, Srinivas Kandagatla, Andrew Lunn, Heiner Kallweit,
	Russell King, Saravana Kannan
  Cc: linux-mmc, devicetree, linux-kernel, linux-arm-msm, linux-block,
	linux-wireless, ath10k, linux-bluetooth, netdev, daniel,
	Loic Poulain, Konrad Dybcio

On embedded devices, it is common for factory provisioning to store
device-specific information, such as Ethernet or WiFi MAC addresses,
in a dedicated area of an eMMC partition. This avoids the need for
and additional EEPROM/OTP and leverages the persistence of eMMC.

One example is the Arduino UNO-Q, where the WiFi MAC address and the
Bluetooth Device address are stored in the eMMC Boot1 partition.

Until now, accessing this information required a custom bootloader
to read the data and inject it into the Device Tree before handing
control over to the kernel. This approach is fragile and leads to
device-specific workarounds.

Rather than adding a new NVMEM provider specifically to the eMMC
subsystem, the new support operates at the block layer, allowing any
block device to behave like other non-volatile memories such as EEPROM
or OTP.

This series builds on earlier work by Daniel Golle that enables block
devices to act as NVMEM providers:
https://lore.kernel.org/all/6061aa4201030b9bb2f8d03ef32a564fdb786ed1.1709667858.git.daniel@makrotopia.org/

It also introduces an NVMEM layout description for the Arduino UNO-Q,
allowing device-specific data stored in the eMMC Boot1 partition to
be accessed in a standard way.

WiFi and Ethernet already support retrieving MAC addresses from NVMEM.
Bluetooth requires similar support, which is also addressed.

Note that this is currently limited to MMC-backed block devices, as
only the MMC core associates a firmware node with the block device
(add_disk_fwnode). This can be easily extended in the future to
support additional block drivers.

Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
---
Changes in v2:
- Fix example nvmem-layout cells to use compatible = "mac-base"
- Squash WiFi MAC and Bluetooth BD address consumer patches into the nvmem layout patch
- Fix possible use-after-free in blk-nvmem: bnv (nvmem priv) linked to nvmem lifetime
- Simplify nvmem-cell-names from items: - const: to plain const:
- Factor out common NVMEM EUI-48 retrieval logic
- Reorder changes
- Link to v1: https://lore.kernel.org/r/20260428-block-as-nvmem-v1-0-6ad23e75190a@oss.qualcomm.com

---
Daniel Golle (1):
      block: implement NVMEM provider

Loic Poulain (7):
      dt-bindings: mmc: Document support for nvmem-layout
      dt-bindings: net: wireless: qcom,ath10k: Add NVMEM MAC address cell
      dt-bindings: bluetooth: qcom: Add NVMEM BD address cell
      net: of_net: Add of_get_nvmem_eui48() helper for EUI-48 lookup
      Bluetooth: hci_sync: Add NVMEM-backed BD address retrieval
      Bluetooth: qca: Set NVMEM BD address quirks when address is invalid
      arm64: dts: qcom: arduino-imola: Describe NVMEM layout for WiFi/BT addresses

 .../devicetree/bindings/mmc/mmc-card.yaml          |  24 +++
 .../net/bluetooth/qcom,bluetooth-common.yaml       |   9 +
 .../bindings/net/wireless/qcom,ath10k.yaml         |   9 +
 arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts |  34 ++++
 block/Kconfig                                      |   9 +
 block/Makefile                                     |   1 +
 block/blk-nvmem.c                                  | 188 +++++++++++++++++++++
 drivers/bluetooth/btqca.c                          |   5 +-
 drivers/nvmem/core.c                               |  13 ++
 include/linux/nvmem-consumer.h                     |   6 +
 include/linux/of_net.h                             |   7 +
 include/net/bluetooth/hci.h                        |  18 ++
 net/bluetooth/hci_sync.c                           |  39 ++++-
 net/core/of_net.c                                  |  47 ++++--
 14 files changed, 395 insertions(+), 14 deletions(-)
---
base-commit: 47c4835fc0fed583d01d90387b67633950eba2b2
change-id: 20260428-block-as-nvmem-4b308e8bda9a

Best regards,
-- 
Loic Poulain <loic.poulain@oss.qualcomm.com>


^ permalink raw reply

* RE: [BUG] iwlwifi: BE201 firmware NMI on Arrow Lake CNVi causes multi-CPU soft lockup and concurrent USB URB drops on adjacent devices
From: Korenblit, Miriam Rachel @ 2026-05-07 15:18 UTC (permalink / raw)
  To: Info, linux-wireless@vger.kernel.org; +Cc: johannes@sipsolutions.net
In-Reply-To: <kWdQxoT6SOo-L5mFpGiJHBM7kebdAV23ij59C29G99xkAGyyQRSaRO4auPC71zeTyi3EIgHoL-Lz4Fab2DtOCOSb9_vDATBFC0Vy_5mj2wQ=@sunharmonics.co.uk>



> -----Original Message-----
> From: Info <info@sunharmonics.co.uk>
> Sent: Thursday, May 7, 2026 2:01 PM
> To: linux-wireless@vger.kernel.org
> Cc: Korenblit, Miriam Rachel <miriam.rachel.korenblit@intel.com>;
> johannes@sipsolutions.net
> Subject: [BUG] iwlwifi: BE201 firmware NMI on Arrow Lake CNVi causes multi-
> CPU soft lockup and concurrent USB URB drops on adjacent devices
> 
> Hi Miri, Johannes, all,
> I'm reporting a recurring iwlwifi firmware NMI on an Intel Wi-Fi 7 BE201
> (integrated Arrow Lake CNVi, PCI 8086:7740) that takes the whole system down
> for 10-35 seconds at a time. The crash is reproducible multiple times per day
> under ordinary interactive desktop workload (web browser, VPN, matrix client,
> video conferencing).
> 
> Also filed at Red Hat Bugzilla:
>   https://bugzilla.redhat.com/show_bug.cgi?id=2467674
> 
> A near-identical case was reported in CachyOS Linux issue #673 with the same
> firmware family (uCode 101.6e695a70.0, op_mode iwlmld) on different host
> hardware:
>   https://github.com/CachyOS/linux-cachyos/issues/673
> 
> 
> Hardware
> ========
>   System:    Lenovo ThinkPad 21NXCTO1WW
>   BIOS:      N4MET28W (1.15) 02/25/2026
>   CPU:       Intel Core Ultra 7 265U (Arrow Lake-U)
>   Wi-Fi:     Intel Wi-Fi 7 BE201 320MHz, integrated CNVi
>              0000:00:14.3  8086:7740, subsystem 8086:00e0
>              CRF id 0x2001910, CNV id 0x80930, wfpm id 0x80005b20
>              RF FM rfid=0x20112200
>   Bluetooth (paired half of the CNVi): Intel 8087:0037 on USB 3-10
>   Firmware:  iwlwifi-bz-c0-101.ucode -> bz-b0-fm-c0-c101.ucode,
>              uCode 101.6e695a70.0, op_mode iwlmld
> 
> Software
> ========
>   Distro:    Fedora 44 KDE Plasma 6.6.4 Wayland
>   Kernel:    6.19.14-300.fc44.x86_64
>   Firmware:  linux-firmware-20260410-1.fc44.noarch
> 
> iwlwifi module parameters at the time of the crash
> ==================================================
>   bt_coex_active: Y
>   disable_11ax:   N
>   disable_11be:   N    (Wi-Fi 7 mode is enabled)
>   fw_restart:     Y
>   power_save:     N
>   uapsd_disable:  3
>   swcrypto:       0
>   iwlmld.power_scheme: 2
> 
> 
> Symptom
> =======
> The firmware NMIs while in normal use; iwlwifi reports "Error sending
> SYSTEM_STATISTICS_CMD: time out after 2000ms", dumps
> NMI_INTERRUPT_UNKNOWN / NMI_INTERRUPT_HOST registers, then "timeout
> waiting for FW reset ACK / Device error - SW reset". Recovery takes 11-25
> seconds per NMI; events frequently come in pairs ~10-20 s apart.
> 
> During the SW reset, the Linux network device queue lock becomes badly
> contended and many CPUs in the system simultaneously hit
> native_queued_spin_lock_slowpath via __dev_queue_xmit and trip the soft-
> lockup watchdog. In one event 12 CPUs were soft-locked at once, including the
> idle/swapper task on CPU#13 (presumably from incoming wake work it could not
> progress). Affected processes in those events included tailscaled (TUN), Chrome
> network IO threads (Vivaldi/Teams), the matrix client nheko, ssh, and the iwlwifi
> IRQ threads themselves (irq/194-iwlwifi:1046, irq/196-iwlwifi:1048, irq/197-
> iwlwifi:1049, etc).
> 
> 
> Three events captured 2026-05-07 in ~90 minutes
> ===============================================
>   10:34:21 - 10:34:38   ~17 s   12 CPUs soft-locked.
>   10:48:35 - 10:49:00   ~25 s   11 CPUs soft-locked. CNVi USB 3-10 (BT)
> disconnects.
>   12:07:26 - 12:08:11   ~35 s   Two back-to-back NMIs 19 s apart.
>                                 Webcam URBs dropped at both NMIs.
>                                 AP deauthed us with Reason 6 =
> CLASS2_FRAME_FROM_NONAUTH_STA.
>                                 USB hub disabled port 10 with suspected EMI.
>                                 User was on an active Microsoft Teams call and was
>                                 disconnected mid-sentence; full Teams reconnect
>                                 took ~90 s on top of the kernel outage.
> 
> 
> Representative iwlwifi error excerpt
> ====================================
>   iwlwifi 0000:00:14.3: Error sending SYSTEM_STATISTICS_CMD: time out after
> 2000ms.
>   iwlwifi 0000:00:14.3: Loaded firmware version: 101.6e695a70.0 bz-b0-fm-c0-
> c101.ucode
>   iwlwifi 0000:00:14.3: 0x00000084 | NMI_INTERRUPT_UNKNOWN
>   iwlwifi 0000:00:14.3: 0x20000066 | NMI_INTERRUPT_HOST
>   iwlwifi 0000:00:14.3: 0x66A00000 | FSEQ_ERROR_CODE
>   iwlwifi 0000:00:14.3: 0x00000B03 | IML/ROM error/state
>   iwlwifi 0000:00:14.3: timeout waiting for FW reset ACK (inta_hw=0x4,
> reset_done 1)
>   iwlwifi 0000:00:14.3: Device error - SW reset
>   ieee80211 phy0: Hardware restart was requested
>   iwlwifi 0000:00:14.3: HCMD_ACTIVE already clear for command
> SYSTEM_STATISTICS_CMD
>   iwlwifi 0000:00:14.3: restart completed
> 
> Concurrent softlockup banner (truncated)
> ========================================
>   watchdog: BUG: soft lockup - CPU#10 stuck for 26s! [irq/196-iwlwifi:1048]
>   watchdog: BUG: soft lockup - CPU#13 stuck for 26s! [swapper/13:0]
>   watchdog: BUG: soft lockup - CPU#7  stuck for 26s! [nheko:5061]
>   Tainted: [L]=SOFTLOCKUP
>   Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W
> (1.15) 02/25/2026
>   RIP: 0010:native_queued_spin_lock_slowpath+0x251/0x300
>   Call Trace:
>     _raw_spin_lock+0x29/0x30
>     __dev_queue_xmit+0x7c3/0x9f0
>     ip_finish_output2+0x241/0x5f0
>     ip_output+0x63/0x110
>     __ip_queue_xmit+0x16d/0x460
>     __tcp_transmit_skb+0x923/0x9e0
>     tcp_write_xmit+0x538/0xb70
>     __tcp_push_pending_frames+0x37/0x110
>     tcp_sendmsg_locked+0x5c9/0x1270
>     tcp_sendmsg+0x2f/0x50
>     __sys_sendto+0x229/0x240
> 
> 
> Collateral damage on adjacent USB devices (event 3, mid-Teams-call)
> =================================================================
> ==
>   12:07:26 iwlwifi: Error sending SYSTEM_STATISTICS_CMD: time out after
> 2000ms
>   12:07:26 iwlwifi: timeout waiting for FW reset ACK
>   12:07:26 iwlwifi: Device error - SW reset
>   12:07:36 uvcvideo 3-9:1.1: Failed to resubmit video URB (-1)        <- webcam
> dropped
>   12:07:37 iwlwifi: restart completed
>   12:07:45 iwlwifi: Error sending SYSTEM_STATISTICS_CMD                <- second
> NMI 8 s later
>   12:07:45 iwlwifi: Device error - SW reset
>   12:08:01 uvcvideo 3-9:1.1: Failed to resubmit video URB (-1)        <- webcam
> dropped again
>   12:08:01 iwlwifi: restart completed
>   12:08:01 wlp0s20f3: deauthenticated from <bssid> (Reason:
> 6=CLASS2_FRAME_FROM_NONAUTH_STA)
>   12:08:03 usb usb3-port10: disabled by hub (EMI?), re-enabling...    <- BT chip
> electrical fault
>   12:08:03 usb 3-10: USB disconnect, device number 5
> 
> The webcam (USB 3-9) is on a different USB device than the CNVi Bluetooth (USB
> 3-10) - they share only the xHCI controller. The webcam URB failures are
> concurrent with the iwlwifi NMI itself, not with the Bluetooth disconnect,
> suggesting that the iwlwifi NMI handler / kernel work pile during the SW reset is
> starving USB URB completions on adjacent devices.
> The "disabled by hub (EMI?)" on usb3-port10 is also notable - that is a hardware-
> level signal from the xHCI hub, suggesting the CNVi is electrically misbehaving
> during the SW reset and not just confusing the software.
> 
> 
> Workarounds tried so far
> ========================
> None applied yet. Two are widely cited in distro forums for this firmware
> family:
> 
>   1. ethtool -K wlpXsY tso off gso off gro off
>      (cited as the active mitigation in CachyOS issue #673; suspected
>      bug in firmware TSO segment handling on the Bz/Be platform).
>   2. iwlwifi.disable_11be=1
>      (forces Wi-Fi 6/6E; removes the trigger entirely - heavier hammer).
> 
> I am happy to run either of these and report whether they suppress the NMI, and
> to apply any test patches you have in flight. I can also reproduce on demand at
> this point - the events are frequent.
> 
> 
> Logs attached
> =============
>   iwlwifi-bz-nmi-summary.txt   pruned summary of the three events on 2026-05-
> 07
>   iwlwifi-bz-nmi-full.txt      full dmesg from the 10:30-10:50 window with all
>                                firmware register dumps (uCode/NMI register state,
>                                Function Scratch values, FSEQ_ERROR_CODE,
>                                IML/ROM error/state) for correlation against
>                                firmware internals
> 
> Happy to provide additional data: full sysreport, fwts, iwl-debug-yoyo captures, or
> anything else you ask for.
> 
> Thanks,
> Ivan

Can you try to apply https://patchwork.kernel.org/project/linux-wireless/patch/20260405054145.1064152-3-cole@unwrap.rs/ and check if it still happens?

Miri

^ permalink raw reply

* Re: [PATCH net-next v2 1/2] net: Consistently define pci_device_ids using named initializers
From: Marc Kleine-Budde @ 2026-05-07 14:48 UTC (permalink / raw)
  To: Uwe Kleine-König (The Capable Hub)
  Cc: Michael Grzeschik, Andrew Lunn, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Vincent Mailhol, Krzysztof Halasa,
	Johannes Berg, Steffen Klassert, David Dillow, Ion Badulescu,
	Mark Einon, Rasesh Mody, GR-Linux-NIC-Dev, Manish Chopra,
	Potnuri Bharat Teja, Denis Kirjanov, Jijie Shao, Jian Shen,
	Cai Huoqing, Fan Gong, Tony Nguyen, Przemek Kitszel, Tariq Toukan,
	Saeed Mahameed, Leon Romanovsky, Mark Bloch, Ido Schimmel,
	Petr Machata, Yibo Dong, Heiner Kallweit, nic_swsd, Jiri Pirko,
	Francois Romieu, Daniele Venzano, Samuel Chessman, Jiawen Wu,
	Mengyuan Lou, Kevin Curtis, Arend van Spriel, Stanislav Yakovlev,
	Richard Cochran, Kees Cook, Aleksandr Loktionov, Thomas Gleixner,
	Jacob Keller, Thomas Fourier, Ingo Molnar, Kory Maincent,
	Zilin Guan, Vadim Fedorenko, Marco Crivellari, Bjorn Helgaas,
	David Arinzon, Yeounsu Moon, Denis Benato, Yonglong Liu,
	Andy Shevchenko, Randy Dunlap, Yicong Hui, MD Danish Anwar,
	Nathan Chancellor, Ethan Nelson-Moore, Larysa Zaremba, Ian Lin,
	Colin Ian King, Double Lo, Markus Schneider-Pargmann,
	Simon Horman, netdev, linux-kernel, linux-can, linux-parisc,
	intel-wired-lan, linux-rdma, oss-drivers, linux-wireless,
	brcm80211, brcm80211-dev-list.pdl
In-Reply-To: <afyfa4E4rNbkMYTk@monoceros>

[-- Attachment #1: Type: text/plain, Size: 2191 bytes --]

On 07.05.2026 16:23:43, Uwe Kleine-König (The Capable Hub) wrote:
> Hello Marc,
>
> On Thu, May 07, 2026 at 12:55:45PM +0200, Marc Kleine-Budde wrote:
> > > +	}, {
> > >  		/* ASEM Dual CAN raw -new model */
> > > -		ASEM_RAW_CAN_VENDOR_ID, ASEM_RAW_CAN_DEVICE_ID,
> > > -		ASEM_RAW_CAN_SUB_VENDOR_ID, ASEM_RAW_CAN_SUB_DEVICE_ID_BIS,
> > > -		0, 0,
> > > -		(kernel_ulong_t)&plx_pci_card_info_asem_dual_can
> > > +		PCI_DEVICE_SUB(ASEM_RAW_CAN_VENDOR_ID, ASEM_RAW_CAN_DEVICE_ID,
> > > +			       ASEM_RAW_CAN_SUB_VENDOR_ID, ASEM_RAW_CAN_SUB_DEVICE_ID_BIS),
> > > +		.driver_data = (kernel_ulong_t)&plx_pci_card_info_asem_dual_can,
> > >  	},
> > > -	{ 0,}
> > > +	{ }
> >
> > Nitpick: can you convert the terminating entry to follow the same style
> > as the rest of the driver:
> >
> > diff --git a/drivers/net/can/sja1000/plx_pci.c b/drivers/net/can/sja1000/plx_pci.c
> > index a03553b80a5d..d69ff0ccfd94 100644
> > --- a/drivers/net/can/sja1000/plx_pci.c
> > +++ b/drivers/net/can/sja1000/plx_pci.c
> > @@ -353,8 +353,8 @@ static const struct pci_device_id plx_pci_tbl[] = {
> >                  PCI_DEVICE_SUB(ASEM_RAW_CAN_VENDOR_ID, ASEM_RAW_CAN_DEVICE_ID,
> >                                 ASEM_RAW_CAN_SUB_VENDOR_ID, ASEM_RAW_CAN_SUB_DEVICE_ID_BIS),
> >                  .driver_data = (kernel_ulong_t)&plx_pci_card_info_asem_dual_can,
> > -        },
> > -        { }
> > +        }, {
> > +        }
> >  };
> >  MODULE_DEVICE_TABLE(pci, plx_pci_tbl);
>
> After the conversation in the v1 thread it was unclear to me if you
> stand by your opinion, so I kept the format as it was. I interpret your
> repetition of the nitpick as request to rework the can drivers for the
> next revision (if that happens).

Doh - Yes, right, we discussed this already. Keep it as is and add my:

Acked-by: Marc Kleine-Budde <mkl@pengutronix.de> # for drivers/net/can

regards,
Marc

-- 
Pengutronix e.K.                 | Marc Kleine-Budde          |
Embedded Linux                   | https://www.pengutronix.de |
Vertretung Nürnberg              | Phone: +49-5121-206917-129 |
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-9   |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply

* Re: [PATCH net-next v2 1/2] net: Consistently define pci_device_ids using named initializers
From: Uwe Kleine-König (The Capable Hub) @ 2026-05-07 14:23 UTC (permalink / raw)
  To: Marc Kleine-Budde
  Cc: Michael Grzeschik, Andrew Lunn, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Vincent Mailhol, Krzysztof Halasa,
	Johannes Berg, Steffen Klassert, David Dillow, Ion Badulescu,
	Mark Einon, Rasesh Mody, GR-Linux-NIC-Dev, Manish Chopra,
	Potnuri Bharat Teja, Denis Kirjanov, Jijie Shao, Jian Shen,
	Cai Huoqing, Fan Gong, Tony Nguyen, Przemek Kitszel, Tariq Toukan,
	Saeed Mahameed, Leon Romanovsky, Mark Bloch, Ido Schimmel,
	Petr Machata, Yibo Dong, Heiner Kallweit, nic_swsd, Jiri Pirko,
	Francois Romieu, Daniele Venzano, Samuel Chessman, Jiawen Wu,
	Mengyuan Lou, Kevin Curtis, Arend van Spriel, Stanislav Yakovlev,
	Richard Cochran, Kees Cook, Aleksandr Loktionov, Thomas Gleixner,
	Jacob Keller, Thomas Fourier, Ingo Molnar, Kory Maincent,
	Zilin Guan, Vadim Fedorenko, Marco Crivellari, Bjorn Helgaas,
	David Arinzon, Yeounsu Moon, Denis Benato, Yonglong Liu,
	Andy Shevchenko, Randy Dunlap, Yicong Hui, MD Danish Anwar,
	Nathan Chancellor, Ethan Nelson-Moore, Larysa Zaremba, Ian Lin,
	Colin Ian King, Double Lo, Markus Schneider-Pargmann,
	Simon Horman, netdev, linux-kernel, linux-can, linux-parisc,
	intel-wired-lan, linux-rdma, oss-drivers, linux-wireless,
	brcm80211, brcm80211-dev-list.pdl
In-Reply-To: <20260507-healthy-gainful-fox-500552-mkl@pengutronix.de>

[-- Attachment #1: Type: text/plain, Size: 1638 bytes --]

Hello Marc,

On Thu, May 07, 2026 at 12:55:45PM +0200, Marc Kleine-Budde wrote:
> > +	}, {
> >  		/* ASEM Dual CAN raw -new model */
> > -		ASEM_RAW_CAN_VENDOR_ID, ASEM_RAW_CAN_DEVICE_ID,
> > -		ASEM_RAW_CAN_SUB_VENDOR_ID, ASEM_RAW_CAN_SUB_DEVICE_ID_BIS,
> > -		0, 0,
> > -		(kernel_ulong_t)&plx_pci_card_info_asem_dual_can
> > +		PCI_DEVICE_SUB(ASEM_RAW_CAN_VENDOR_ID, ASEM_RAW_CAN_DEVICE_ID,
> > +			       ASEM_RAW_CAN_SUB_VENDOR_ID, ASEM_RAW_CAN_SUB_DEVICE_ID_BIS),
> > +		.driver_data = (kernel_ulong_t)&plx_pci_card_info_asem_dual_can,
> >  	},
> > -	{ 0,}
> > +	{ }
> 
> Nitpick: can you convert the terminating entry to follow the same style
> as the rest of the driver:
> 
> diff --git a/drivers/net/can/sja1000/plx_pci.c b/drivers/net/can/sja1000/plx_pci.c
> index a03553b80a5d..d69ff0ccfd94 100644
> --- a/drivers/net/can/sja1000/plx_pci.c
> +++ b/drivers/net/can/sja1000/plx_pci.c
> @@ -353,8 +353,8 @@ static const struct pci_device_id plx_pci_tbl[] = {
>                  PCI_DEVICE_SUB(ASEM_RAW_CAN_VENDOR_ID, ASEM_RAW_CAN_DEVICE_ID,
>                                 ASEM_RAW_CAN_SUB_VENDOR_ID, ASEM_RAW_CAN_SUB_DEVICE_ID_BIS),
>                  .driver_data = (kernel_ulong_t)&plx_pci_card_info_asem_dual_can,
> -        },
> -        { }
> +        }, {
> +        }
>  };
>  MODULE_DEVICE_TABLE(pci, plx_pci_tbl);

After the conversation in the v1 thread it was unclear to me if you
stand by your opinion, so I kept the format as it was. I interpret your
repetition of the nitpick as request to rework the can drivers for the
next revision (if that happens).

Best regards
Uwe

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply

* [wireless-next:main] BUILD SUCCESS 2281958e60079e063bd6e9e5e46e8786a9853ea8
From: kernel test robot @ 2026-05-07 13:49 UTC (permalink / raw)
  To: Jakub Kicinski; +Cc: Johannes Berg, linux-wireless

tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git main
branch HEAD: 2281958e60079e063bd6e9e5e46e8786a9853ea8  Merge tag 'wireless-next-2026-05-06' of https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next

elapsed time: 728m

configs tested: 235
configs skipped: 105

The following configs have been built successfully.
More configs may be tested in the coming days.

tested configs:
alpha                             allnoconfig    gcc-15.2.0
alpha                            allyesconfig    gcc-15.2.0
alpha                               defconfig    gcc-15.2.0
arc                              allmodconfig    clang-16
arc                               allnoconfig    gcc-15.2.0
arc                              allyesconfig    clang-23
arc                                 defconfig    gcc-15.2.0
arc                            randconfig-001    gcc-8.5.0
arc                   randconfig-001-20260507    gcc-14.3.0
arc                   randconfig-001-20260507    gcc-8.5.0
arc                            randconfig-002    gcc-8.5.0
arc                   randconfig-002-20260507    gcc-14.3.0
arc                   randconfig-002-20260507    gcc-8.5.0
arm                               allnoconfig    clang-23
arm                               allnoconfig    gcc-15.2.0
arm                              allyesconfig    clang-16
arm                              allyesconfig    gcc-15.2.0
arm                                 defconfig    clang-23
arm                                 defconfig    gcc-15.2.0
arm                            randconfig-001    gcc-8.5.0
arm                   randconfig-001-20260507    clang-23
arm                   randconfig-001-20260507    gcc-14.3.0
arm                   randconfig-001-20260507    gcc-8.5.0
arm                            randconfig-002    gcc-8.5.0
arm                   randconfig-002-20260507    gcc-10.5.0
arm                   randconfig-002-20260507    gcc-14.3.0
arm                   randconfig-002-20260507    gcc-8.5.0
arm                            randconfig-003    gcc-8.5.0
arm                   randconfig-003-20260507    clang-23
arm                   randconfig-003-20260507    gcc-14.3.0
arm                   randconfig-003-20260507    gcc-8.5.0
arm                            randconfig-004    gcc-8.5.0
arm                   randconfig-004-20260507    gcc-13.4.0
arm                   randconfig-004-20260507    gcc-14.3.0
arm                   randconfig-004-20260507    gcc-8.5.0
arm64                            allmodconfig    clang-19
arm64                            allmodconfig    clang-23
arm64                             allnoconfig    gcc-15.2.0
arm64                               defconfig    gcc-15.2.0
arm64                          randconfig-001    gcc-15.2.0
arm64                 randconfig-001-20260507    clang-23
arm64                 randconfig-001-20260507    gcc-15.2.0
arm64                          randconfig-002    gcc-15.2.0
arm64                 randconfig-002-20260507    gcc-13.4.0
arm64                 randconfig-002-20260507    gcc-15.2.0
arm64                          randconfig-003    gcc-15.2.0
arm64                 randconfig-003-20260507    clang-23
arm64                 randconfig-003-20260507    gcc-15.2.0
arm64                          randconfig-004    gcc-15.2.0
arm64                 randconfig-004-20260507    gcc-15.2.0
arm64                 randconfig-004-20260507    gcc-8.5.0
csky                             allmodconfig    gcc-15.2.0
csky                              allnoconfig    gcc-15.2.0
csky                                defconfig    gcc-15.2.0
csky                           randconfig-001    gcc-15.2.0
csky                  randconfig-001-20260507    gcc-15.2.0
csky                           randconfig-002    gcc-15.2.0
csky                  randconfig-002-20260507    gcc-15.2.0
hexagon                          allmodconfig    clang-17
hexagon                          allmodconfig    gcc-15.2.0
hexagon                           allnoconfig    clang-23
hexagon                           allnoconfig    gcc-15.2.0
hexagon                             defconfig    gcc-15.2.0
hexagon               randconfig-001-20260507    clang-23
hexagon               randconfig-002-20260507    clang-23
i386                             allmodconfig    clang-20
i386                             allmodconfig    gcc-14
i386                              allnoconfig    gcc-14
i386                              allnoconfig    gcc-15.2.0
i386                             allyesconfig    clang-20
i386                             allyesconfig    gcc-14
i386        buildonly-randconfig-001-20260507    clang-20
i386        buildonly-randconfig-001-20260507    gcc-14
i386        buildonly-randconfig-002-20260507    clang-20
i386        buildonly-randconfig-002-20260507    gcc-14
i386        buildonly-randconfig-003-20260507    clang-20
i386        buildonly-randconfig-003-20260507    gcc-14
i386        buildonly-randconfig-004-20260507    clang-20
i386        buildonly-randconfig-004-20260507    gcc-14
i386        buildonly-randconfig-005-20260507    clang-20
i386        buildonly-randconfig-006-20260507    clang-20
i386        buildonly-randconfig-006-20260507    gcc-14
i386                                defconfig    clang-20
i386                                defconfig    gcc-15.2.0
i386                           randconfig-001    gcc-14
i386                  randconfig-001-20260507    gcc-13
i386                  randconfig-001-20260507    gcc-14
i386                           randconfig-002    gcc-14
i386                  randconfig-002-20260507    clang-20
i386                  randconfig-002-20260507    gcc-14
i386                           randconfig-003    gcc-14
i386                  randconfig-003-20260507    gcc-14
i386                           randconfig-004    gcc-14
i386                  randconfig-004-20260507    gcc-14
i386                           randconfig-005    gcc-14
i386                  randconfig-005-20260507    gcc-14
i386                           randconfig-006    gcc-14
i386                  randconfig-006-20260507    gcc-14
i386                           randconfig-007    gcc-14
i386                  randconfig-007-20260507    clang-20
i386                  randconfig-007-20260507    gcc-14
i386                           randconfig-011    clang-20
i386                  randconfig-011-20260507    clang-20
i386                  randconfig-011-20260507    gcc-14
i386                           randconfig-012    clang-20
i386                  randconfig-012-20260507    clang-20
i386                           randconfig-013    clang-20
i386                  randconfig-013-20260507    clang-20
i386                  randconfig-013-20260507    gcc-14
i386                           randconfig-014    clang-20
i386                  randconfig-014-20260507    clang-20
i386                  randconfig-014-20260507    gcc-14
i386                           randconfig-015    clang-20
i386                  randconfig-015-20260507    clang-20
i386                           randconfig-016    clang-20
i386                  randconfig-016-20260507    clang-20
i386                  randconfig-016-20260507    gcc-14
i386                           randconfig-017    clang-20
i386                  randconfig-017-20260507    clang-20
i386                  randconfig-017-20260507    gcc-14
loongarch                        allmodconfig    clang-23
loongarch                         allnoconfig    clang-23
loongarch                         allnoconfig    gcc-15.2.0
loongarch                           defconfig    clang-19
loongarch             randconfig-001-20260507    clang-23
loongarch             randconfig-002-20260507    clang-23
m68k                             allmodconfig    gcc-15.2.0
m68k                              allnoconfig    gcc-15.2.0
m68k                             allyesconfig    clang-16
m68k                                defconfig    clang-19
microblaze                        allnoconfig    gcc-15.2.0
microblaze                       allyesconfig    gcc-15.2.0
microblaze                          defconfig    clang-19
mips                              allnoconfig    gcc-15.2.0
mips                             allyesconfig    gcc-15.2.0
nios2                             allnoconfig    clang-23
nios2                             allnoconfig    gcc-11.5.0
nios2                               defconfig    clang-19
nios2                 randconfig-001-20260507    clang-23
nios2                 randconfig-002-20260507    clang-23
openrisc                          allnoconfig    clang-23
openrisc                          allnoconfig    gcc-15.2.0
openrisc                            defconfig    gcc-15.2.0
parisc                            allnoconfig    clang-23
parisc                            allnoconfig    gcc-15.2.0
parisc                           allyesconfig    clang-19
parisc                              defconfig    gcc-15.2.0
parisc                randconfig-001-20260507    gcc-8.5.0
parisc                randconfig-002-20260507    gcc-8.5.0
parisc64                            defconfig    clang-19
powerpc                           allnoconfig    clang-23
powerpc                           allnoconfig    gcc-15.2.0
powerpc                 mpc836x_rdk_defconfig    clang-23
powerpc               randconfig-001-20260507    gcc-8.5.0
powerpc               randconfig-002-20260507    gcc-8.5.0
powerpc64             randconfig-001-20260507    gcc-8.5.0
powerpc64             randconfig-002-20260507    gcc-8.5.0
riscv                            allmodconfig    clang-23
riscv                             allnoconfig    clang-23
riscv                             allnoconfig    gcc-15.2.0
riscv                            allyesconfig    clang-16
riscv                               defconfig    gcc-15.2.0
s390                             allmodconfig    clang-19
s390                              allnoconfig    clang-23
s390                                defconfig    gcc-15.2.0
sh                               allmodconfig    gcc-15.2.0
sh                                allnoconfig    clang-23
sh                                allnoconfig    gcc-15.2.0
sh                               allyesconfig    clang-19
sh                         ap325rxa_defconfig    gcc-15.2.0
sh                                  defconfig    gcc-14
sparc                             allnoconfig    clang-23
sparc                             allnoconfig    gcc-15.2.0
sparc                               defconfig    gcc-15.2.0
sparc                 randconfig-001-20260507    gcc-12.5.0
sparc                 randconfig-002-20260507    gcc-12.5.0
sparc64                             defconfig    gcc-14
sparc64               randconfig-001-20260507    gcc-12.5.0
sparc64               randconfig-002-20260507    gcc-12.5.0
um                               allmodconfig    clang-19
um                                allnoconfig    clang-23
um                               allyesconfig    gcc-14
um                               allyesconfig    gcc-15.2.0
um                                  defconfig    gcc-14
um                             i386_defconfig    gcc-14
um                    randconfig-001-20260507    gcc-12.5.0
um                    randconfig-002-20260507    gcc-12.5.0
um                           x86_64_defconfig    gcc-14
x86_64                           allmodconfig    clang-20
x86_64                            allnoconfig    clang-20
x86_64                            allnoconfig    clang-23
x86_64                           allyesconfig    clang-20
x86_64      buildonly-randconfig-001-20260507    clang-20
x86_64      buildonly-randconfig-002-20260507    clang-20
x86_64      buildonly-randconfig-002-20260507    gcc-13
x86_64      buildonly-randconfig-003-20260507    clang-20
x86_64      buildonly-randconfig-003-20260507    gcc-14
x86_64      buildonly-randconfig-004-20260507    clang-20
x86_64      buildonly-randconfig-005-20260507    clang-20
x86_64      buildonly-randconfig-006-20260507    clang-20
x86_64      buildonly-randconfig-006-20260507    gcc-14
x86_64                              defconfig    gcc-14
x86_64                randconfig-001-20260507    gcc-14
x86_64                randconfig-002-20260507    clang-20
x86_64                randconfig-002-20260507    gcc-14
x86_64                randconfig-003-20260507    gcc-14
x86_64                randconfig-004-20260507    gcc-14
x86_64                randconfig-005-20260507    clang-20
x86_64                randconfig-005-20260507    gcc-14
x86_64                randconfig-006-20260507    clang-20
x86_64                randconfig-006-20260507    gcc-14
x86_64                randconfig-011-20260507    gcc-14
x86_64                randconfig-012-20260507    gcc-14
x86_64                randconfig-013-20260507    gcc-14
x86_64                randconfig-014-20260507    gcc-14
x86_64                randconfig-015-20260507    gcc-14
x86_64                randconfig-016-20260507    gcc-14
x86_64                randconfig-071-20260507    clang-20
x86_64                randconfig-071-20260507    gcc-14
x86_64                randconfig-072-20260507    clang-20
x86_64                randconfig-072-20260507    gcc-14
x86_64                randconfig-073-20260507    clang-20
x86_64                randconfig-073-20260507    gcc-14
x86_64                randconfig-074-20260507    clang-20
x86_64                randconfig-074-20260507    gcc-14
x86_64                randconfig-075-20260507    clang-20
x86_64                randconfig-076-20260507    clang-20
x86_64                           rhel-9.4-bpf    gcc-14
x86_64                         rhel-9.4-kunit    gcc-14
x86_64                           rhel-9.4-ltp    gcc-14
x86_64                          rhel-9.4-rust    clang-20
xtensa                            allnoconfig    clang-23
xtensa                            allnoconfig    gcc-15.2.0
xtensa                randconfig-001-20260507    gcc-12.5.0
xtensa                randconfig-002-20260507    gcc-12.5.0

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply

* Re: [PATCH v3 0/3] Add str_alloc_free() helper
From: Johannes Berg @ 2026-05-07 11:10 UTC (permalink / raw)
  To: Jiazi Li, Kees Cook, Andy Shevchenko, Ping-Ke Shih, Julia Lawall,
	Nicolas Palix
  Cc: linux-hardening, linux-wireless
In-Reply-To: <cover.1778051552.git.jqqlijiazi@gmail.com>

On Thu, 2026-05-07 at 19:03 +0800, Jiazi Li wrote:
> Currently finds 4 locations:
> ./drivers/net/wireless/realtek/rtw89/fw.c:2557:7-12: opportunity for str_alloc_free(valid)
> ./drivers/net/wireless/realtek/rtw89/fw.c:2693:7-12: opportunity for str_alloc_free(valid)
> ./drivers/android/tests/binder_alloc_kunit.c:196:6-21: opportunity for str_alloc_free(alloc -> pages [ i ])
> ./mm/slub.c:1634:3-8: opportunity for str_alloc_free(alloc)

It's what, three characters shorter for four users each? Is there really
much point?

Reading just the name also is really confusing - yes it lines up with
str_assert_deassert, but "alloc_free" really doesn't seem very obvious -
why would you alloc and free a string in one function call?

johannes

^ permalink raw reply

* [PATCH v3 3/3] coccinelle: Add rules to find str_alloc_free() replacements
From: Jiazi Li @ 2026-05-07 11:04 UTC (permalink / raw)
  To: Kees Cook, Andy Shevchenko, Ping-Ke Shih, Julia Lawall,
	Nicolas Palix
  Cc: Jiazi Li, linux-hardening, linux-wireless
In-Reply-To: <cover.1778051552.git.jqqlijiazi@gmail.com>

Add rules for finding places where str_alloc_free()/str_free_alloc
can be used.

Tested-by mingzhu.wang <mingzhu.wang@transsion.com>
Signed-off-by: Jiazi Li <jqqlijiazi@gmail.com>
---
 scripts/coccinelle/api/string_choices.cocci | 38 +++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/scripts/coccinelle/api/string_choices.cocci b/scripts/coccinelle/api/string_choices.cocci
index 7b2b76a42acc..516b30828380 100644
--- a/scripts/coccinelle/api/string_choices.cocci
+++ b/scripts/coccinelle/api/string_choices.cocci
@@ -7,6 +7,44 @@ virtual patch
 virtual context
 virtual report
 
+@str_alloc_free depends on patch disable neg_if_exp@
+expression E;
+@@
+-      ((E) ? "alloc" : "free")
++      str_alloc_free(E)
+
+@str_alloc_free_r depends on !patch disable neg_if_exp@
+expression E;
+position P;
+@@
+*      E@P ? "alloc" : "free"
+
+@script:python depends on report@
+p << str_alloc_free_r.P;
+e << str_alloc_free_r.E;
+@@
+
+coccilib.report.print_report(p[0], "opportunity for str_alloc_free(%s)" % e)
+
+@str_free_alloc depends on patch disable neg_if_exp@
+expression E;
+@@
+-      ((E) ? "free" : "alloc")
++      str_free_alloc(E)
+
+@str_free_alloc_r depends on !patch disable neg_if_exp@
+expression E;
+position P;
+@@
+*      E@P ? "free" : "alloc"
+
+@script:python depends on report@
+p << str_free_alloc_r.P;
+e << str_free_alloc_r.E;
+@@
+
+coccilib.report.print_report(p[0], "opportunity for str_free_alloc(%s)" % e)
+
 @str_enable_disable depends on patch@
 expression E;
 @@
-- 
2.49.0


^ permalink raw reply related

* [PATCH v3 2/3] wifi: rtw89: Make use of str_alloc_free helper
From: Jiazi Li @ 2026-05-07 11:03 UTC (permalink / raw)
  To: Kees Cook, Andy Shevchenko, Ping-Ke Shih, Julia Lawall,
	Nicolas Palix
  Cc: Jiazi Li, linux-hardening, linux-wireless, mingzhu.wang
In-Reply-To: <cover.1778051552.git.jqqlijiazi@gmail.com>

The helper str_alloc_free is introduced to return "alloc/free"
string literal. We can simplify this format by str_alloc_free.

Tested-by: mingzhu.wang <mingzhu.wang@transsion.com>
Signed-off-by: Jiazi Li <jqqlijiazi@gmail.com>
---
 drivers/net/wireless/realtek/rtw89/fw.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/realtek/rtw89/fw.c b/drivers/net/wireless/realtek/rtw89/fw.c
index 17704f054727..6cc68494b3a1 100644
--- a/drivers/net/wireless/realtek/rtw89/fw.c
+++ b/drivers/net/wireless/realtek/rtw89/fw.c
@@ -2554,7 +2554,7 @@ int rtw89_fw_h2c_ba_cam(struct rtw89_dev *rtwdev,
 		 */
 		rtw89_debug(rtwdev, RTW89_DBG_TXRX,
 			    "failed to %s entry tid=%d for h2c ba cam\n",
-			    valid ? "alloc" : "free", params->tid);
+			    str_alloc_free(valid), params->tid);
 		return 0;
 	}
 
@@ -2690,7 +2690,7 @@ int rtw89_fw_h2c_ba_cam_v1(struct rtw89_dev *rtwdev,
 		 */
 		rtw89_debug(rtwdev, RTW89_DBG_TXRX,
 			    "failed to %s entry tid=%d for h2c ba cam\n",
-			    valid ? "alloc" : "free", params->tid);
+			    str_alloc_free(valid), params->tid);
 		return 0;
 	}
 
-- 
2.49.0


^ permalink raw reply related

* [PATCH v3 1/3] lib/string_choices: Add str_alloc_free() helper
From: Jiazi Li @ 2026-05-07 11:03 UTC (permalink / raw)
  To: Kees Cook, Andy Shevchenko, Ping-Ke Shih, Julia Lawall,
	Nicolas Palix
  Cc: Jiazi Li, linux-hardening, linux-wireless, mingzhu.wang
In-Reply-To: <cover.1778051552.git.jqqlijiazi@gmail.com>

Add str_alloc_free() helper to return "alloc" or "free"
string literal depending on the boolean argument. Also add the
inversed variant str_free_alloc().

Tested-by: mingzhu.wang <mingzhu.wang@transsion.com>
Signed-off-by: Jiazi Li <jqqlijiazi@gmail.com>
---
 include/linux/string_choices.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/include/linux/string_choices.h b/include/linux/string_choices.h
index ee84087d4b26..65f346db95ba 100644
--- a/include/linux/string_choices.h
+++ b/include/linux/string_choices.h
@@ -17,6 +17,12 @@
 
 #include <linux/types.h>
 
+static inline const char *str_alloc_free(bool v)
+{
+	return v ? "alloc" : "free";
+}
+#define str_free_alloc(v)		str_alloc_free(!(v))
+
 static inline const char *str_assert_deassert(bool v)
 {
 	return v ? "assert" : "deassert";
-- 
2.49.0


^ permalink raw reply related

* [PATCH v3 0/3] Add str_alloc_free() helper
From: Jiazi Li @ 2026-05-07 11:03 UTC (permalink / raw)
  To: Kees Cook, Andy Shevchenko, Ping-Ke Shih, Julia Lawall,
	Nicolas Palix
  Cc: Jiazi Li, linux-hardening, linux-wireless

Currently finds 4 locations:
./drivers/net/wireless/realtek/rtw89/fw.c:2557:7-12: opportunity for str_alloc_free(valid)
./drivers/net/wireless/realtek/rtw89/fw.c:2693:7-12: opportunity for str_alloc_free(valid)
./drivers/android/tests/binder_alloc_kunit.c:196:6-21: opportunity for str_alloc_free(alloc -> pages [ i ])
./mm/slub.c:1634:3-8: opportunity for str_alloc_free(alloc)

Patch 3 is based on
https://lore.kernel.org/linux-hardening/CAHp75VdHY814NRfyUfWeqRd4-DwYzHGh25OTsUB5EFpRKpVQLQ@mail.gmail.com/T/#t.

---
Changes in v3: Add first user for this helper

v2: https://lore.kernel.org/linux-hardening/CAHp75Vdvdr0TPzuDDPSoJ4Nixk-6qO_x6Or9iY9LNwSO1Q6mHg@mail.gmail.com/T/#mfb405519f7b3a06f4fcaa8e5a799da5299d9ee85

Jiazi Li (3):
  lib/string_choices: Add str_alloc_free() helper
  wifi: rtw89: Make use of str_alloc_free helper
  coccinelle: Add rules to find str_alloc_free() replacements

 drivers/net/wireless/realtek/rtw89/fw.c     |  4 +--
 include/linux/string_choices.h              |  6 ++++
 scripts/coccinelle/api/string_choices.cocci | 38 +++++++++++++++++++++
 3 files changed, 46 insertions(+), 2 deletions(-)

-- 
2.49.0


^ permalink raw reply

* [BUG] iwlwifi: BE201 firmware NMI on Arrow Lake CNVi causes multi-CPU soft lockup and concurrent USB URB drops on adjacent devices
From: Info @ 2026-05-07 11:01 UTC (permalink / raw)
  To: linux-wireless@vger.kernel.org
  Cc: miriam.rachel.korenblit@intel.com, johannes@sipsolutions.net

[-- Attachment #1: Type: text/plain, Size: 8239 bytes --]

Hi Miri, Johannes, all,
I'm reporting a recurring iwlwifi firmware NMI on an Intel Wi-Fi 7 BE201
(integrated Arrow Lake CNVi, PCI 8086:7740) that takes the whole system
down for 10-35 seconds at a time. The crash is reproducible multiple times
per day under ordinary interactive desktop workload (web browser, VPN,
matrix client, video conferencing).

Also filed at Red Hat Bugzilla:
  https://bugzilla.redhat.com/show_bug.cgi?id=2467674

A near-identical case was reported in CachyOS Linux issue #673 with the
same firmware family (uCode 101.6e695a70.0, op_mode iwlmld) on different
host hardware:
  https://github.com/CachyOS/linux-cachyos/issues/673


Hardware
========
  System:    Lenovo ThinkPad 21NXCTO1WW
  BIOS:      N4MET28W (1.15) 02/25/2026
  CPU:       Intel Core Ultra 7 265U (Arrow Lake-U)
  Wi-Fi:     Intel Wi-Fi 7 BE201 320MHz, integrated CNVi
             0000:00:14.3  8086:7740, subsystem 8086:00e0
             CRF id 0x2001910, CNV id 0x80930, wfpm id 0x80005b20
             RF FM rfid=0x20112200
  Bluetooth (paired half of the CNVi): Intel 8087:0037 on USB 3-10
  Firmware:  iwlwifi-bz-c0-101.ucode -> bz-b0-fm-c0-c101.ucode,
             uCode 101.6e695a70.0, op_mode iwlmld

Software
========
  Distro:    Fedora 44 KDE Plasma 6.6.4 Wayland
  Kernel:    6.19.14-300.fc44.x86_64
  Firmware:  linux-firmware-20260410-1.fc44.noarch

iwlwifi module parameters at the time of the crash
==================================================
  bt_coex_active: Y
  disable_11ax:   N
  disable_11be:   N    (Wi-Fi 7 mode is enabled)
  fw_restart:     Y
  power_save:     N
  uapsd_disable:  3
  swcrypto:       0
  iwlmld.power_scheme: 2


Symptom
=======
The firmware NMIs while in normal use; iwlwifi reports
"Error sending SYSTEM_STATISTICS_CMD: time out after 2000ms", dumps
NMI_INTERRUPT_UNKNOWN / NMI_INTERRUPT_HOST registers, then
"timeout waiting for FW reset ACK / Device error - SW reset". Recovery
takes 11-25 seconds per NMI; events frequently come in pairs ~10-20 s apart.

During the SW reset, the Linux network device queue lock becomes badly
contended and many CPUs in the system simultaneously hit
native_queued_spin_lock_slowpath via __dev_queue_xmit and trip the
soft-lockup watchdog. In one event 12 CPUs were soft-locked at once,
including the idle/swapper task on CPU#13 (presumably from incoming wake
work it could not progress). Affected processes in those events included
tailscaled (TUN), Chrome network IO threads (Vivaldi/Teams), the matrix
client nheko, ssh, and the iwlwifi IRQ threads themselves
(irq/194-iwlwifi:1046, irq/196-iwlwifi:1048, irq/197-iwlwifi:1049, etc).


Three events captured 2026-05-07 in ~90 minutes
===============================================
  10:34:21 - 10:34:38   ~17 s   12 CPUs soft-locked.
  10:48:35 - 10:49:00   ~25 s   11 CPUs soft-locked. CNVi USB 3-10 (BT) disconnects.
  12:07:26 - 12:08:11   ~35 s   Two back-to-back NMIs 19 s apart.
                                Webcam URBs dropped at both NMIs.
                                AP deauthed us with Reason 6 = CLASS2_FRAME_FROM_NONAUTH_STA.
                                USB hub disabled port 10 with suspected EMI.
                                User was on an active Microsoft Teams call and was
                                disconnected mid-sentence; full Teams reconnect
                                took ~90 s on top of the kernel outage.


Representative iwlwifi error excerpt
====================================
  iwlwifi 0000:00:14.3: Error sending SYSTEM_STATISTICS_CMD: time out after 2000ms.
  iwlwifi 0000:00:14.3: Loaded firmware version: 101.6e695a70.0 bz-b0-fm-c0-c101.ucode
  iwlwifi 0000:00:14.3: 0x00000084 | NMI_INTERRUPT_UNKNOWN
  iwlwifi 0000:00:14.3: 0x20000066 | NMI_INTERRUPT_HOST
  iwlwifi 0000:00:14.3: 0x66A00000 | FSEQ_ERROR_CODE
  iwlwifi 0000:00:14.3: 0x00000B03 | IML/ROM error/state
  iwlwifi 0000:00:14.3: timeout waiting for FW reset ACK (inta_hw=0x4, reset_done 1)
  iwlwifi 0000:00:14.3: Device error - SW reset
  ieee80211 phy0: Hardware restart was requested
  iwlwifi 0000:00:14.3: HCMD_ACTIVE already clear for command SYSTEM_STATISTICS_CMD
  iwlwifi 0000:00:14.3: restart completed

Concurrent softlockup banner (truncated)
========================================
  watchdog: BUG: soft lockup - CPU#10 stuck for 26s! [irq/196-iwlwifi:1048]
  watchdog: BUG: soft lockup - CPU#13 stuck for 26s! [swapper/13:0]
  watchdog: BUG: soft lockup - CPU#7  stuck for 26s! [nheko:5061]
  Tainted: [L]=SOFTLOCKUP
  Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W (1.15) 02/25/2026
  RIP: 0010:native_queued_spin_lock_slowpath+0x251/0x300
  Call Trace:
    _raw_spin_lock+0x29/0x30
    __dev_queue_xmit+0x7c3/0x9f0
    ip_finish_output2+0x241/0x5f0
    ip_output+0x63/0x110
    __ip_queue_xmit+0x16d/0x460
    __tcp_transmit_skb+0x923/0x9e0
    tcp_write_xmit+0x538/0xb70
    __tcp_push_pending_frames+0x37/0x110
    tcp_sendmsg_locked+0x5c9/0x1270
    tcp_sendmsg+0x2f/0x50
    __sys_sendto+0x229/0x240


Collateral damage on adjacent USB devices (event 3, mid-Teams-call)
===================================================================
  12:07:26 iwlwifi: Error sending SYSTEM_STATISTICS_CMD: time out after 2000ms
  12:07:26 iwlwifi: timeout waiting for FW reset ACK
  12:07:26 iwlwifi: Device error - SW reset
  12:07:36 uvcvideo 3-9:1.1: Failed to resubmit video URB (-1)        <- webcam dropped
  12:07:37 iwlwifi: restart completed
  12:07:45 iwlwifi: Error sending SYSTEM_STATISTICS_CMD                <- second NMI 8 s later
  12:07:45 iwlwifi: Device error - SW reset
  12:08:01 uvcvideo 3-9:1.1: Failed to resubmit video URB (-1)        <- webcam dropped again
  12:08:01 iwlwifi: restart completed
  12:08:01 wlp0s20f3: deauthenticated from <bssid> (Reason: 6=CLASS2_FRAME_FROM_NONAUTH_STA)
  12:08:03 usb usb3-port10: disabled by hub (EMI?), re-enabling...    <- BT chip electrical fault
  12:08:03 usb 3-10: USB disconnect, device number 5

The webcam (USB 3-9) is on a different USB device than the CNVi Bluetooth
(USB 3-10) - they share only the xHCI controller. The webcam URB failures
are concurrent with the iwlwifi NMI itself, not with the Bluetooth
disconnect, suggesting that the iwlwifi NMI handler / kernel work pile
during the SW reset is starving USB URB completions on adjacent devices.
The "disabled by hub (EMI?)" on usb3-port10 is also notable - that is a
hardware-level signal from the xHCI hub, suggesting the CNVi is
electrically misbehaving during the SW reset and not just confusing the
software.


Workarounds tried so far
========================
None applied yet. Two are widely cited in distro forums for this firmware
family:

  1. ethtool -K wlpXsY tso off gso off gro off
     (cited as the active mitigation in CachyOS issue #673; suspected
     bug in firmware TSO segment handling on the Bz/Be platform).
  2. iwlwifi.disable_11be=1
     (forces Wi-Fi 6/6E; removes the trigger entirely - heavier hammer).

I am happy to run either of these and report whether they suppress the
NMI, and to apply any test patches you have in flight. I can also reproduce
on demand at this point - the events are frequent.


Logs attached
=============
  iwlwifi-bz-nmi-summary.txt   pruned summary of the three events on 2026-05-07
  iwlwifi-bz-nmi-full.txt      full dmesg from the 10:30-10:50 window with all
                               firmware register dumps (uCode/NMI register state,
                               Function Scratch values, FSEQ_ERROR_CODE,
                               IML/ROM error/state) for correlation against
                               firmware internals

Happy to provide additional data: full sysreport, fwts, iwl-debug-yoyo
captures, or anything else you ask for.

Thanks,
Ivan

[-- Attachment #2: iwlwifi-bz-nmi-summary.txt --]
[-- Type: text/plain, Size: 6031 bytes --]

=== Event 1 — 2026-05-07 10:34:21 ===
(11 CPUs simultaneously soft-locked for 22-26s)

May 07 10:34:21 fedora kernel: iwlwifi 0000:00:14.3: Error sending SYSTEM_STATISTICS_CMD: time out after 2000ms.
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: timeout waiting for FW reset ACK (inta_hw=0x4, reset_done 1)
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: Device error - SW reset
May 07 10:34:38 fedora kernel: watchdog: BUG: soft lockup - CPU#2 stuck for 22s! [tailscaled:1508]
May 07 10:34:38 fedora kernel: watchdog: BUG: soft lockup - CPU#5 stuck for 26s! [Chrome_ChildIOT:5965]
May 07 10:34:38 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:34:38 fedora kernel: watchdog: BUG: soft lockup - CPU#7 stuck for 26s! [nheko:5061]
May 07 10:34:38 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:34:38 fedora kernel: watchdog: BUG: soft lockup - CPU#12 stuck for 26s! [ssh:70503]
May 07 10:34:38 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:34:38 fedora kernel: watchdog: BUG: soft lockup - CPU#10 stuck for 26s! [irq/196-iwlwifi:1048]
May 07 10:34:38 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:34:38 fedora kernel: watchdog: BUG: soft lockup - CPU#1 stuck for 22s! [Chrome_ChildIOT:48803]
May 07 10:34:38 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:34:38 fedora kernel: watchdog: BUG: soft lockup - CPU#9 stuck for 22s! [tailscaled:1509]
May 07 10:34:38 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:34:38 fedora kernel: watchdog: BUG: soft lockup - CPU#11 stuck for 26s! [HTTP Client:5806]
May 07 10:34:38 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:34:38 fedora kernel: watchdog: BUG: soft lockup - CPU#8 stuck for 26s! [irq/197-iwlwifi:1049]
May 07 10:34:38 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:34:38 fedora kernel: watchdog: BUG: soft lockup - CPU#4 stuck for 23s! [Chrome_ChildIOT:3786]
May 07 10:34:38 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:34:38 fedora kernel: watchdog: BUG: soft lockup - CPU#13 stuck for 26s! [swapper/13:0]
May 07 10:34:38 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:34:38 fedora kernel: watchdog: BUG: soft lockup - CPU#3 stuck for 23s! [irq/194-iwlwifi:1046]
May 07 10:34:38 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: restart completed

=== Event 2 — 2026-05-07 10:48:35 ===
(CPU#13 soft-locked in nheko TCP send path)

May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: Error sending SYSTEM_STATISTICS_CMD: time out after 2000ms.
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: timeout waiting for FW reset ACK (inta_hw=0x4, reset_done 1)
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: Device error - SW reset
May 07 10:49:00 fedora kernel: watchdog: BUG: soft lockup - CPU#2 stuck for 23s! [joplin:4922]
May 07 10:49:00 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:49:00 fedora kernel: watchdog: BUG: soft lockup - CPU#5 stuck for 23s! [Chrome_ChildIOT:3786]
May 07 10:49:00 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:49:00 fedora kernel: watchdog: BUG: soft lockup - CPU#7 stuck for 23s! [tailscaled:1451]
May 07 10:49:00 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:49:00 fedora kernel: watchdog: BUG: soft lockup - CPU#9 stuck for 23s! [tailscaled:1469]
May 07 10:49:00 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:49:00 fedora kernel: watchdog: BUG: soft lockup - CPU#12 stuck for 26s! [ssh:77512]
May 07 10:49:00 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:49:00 fedora kernel: watchdog: BUG: soft lockup - CPU#3 stuck for 23s! [irq/204-iwlwifi:1056]
May 07 10:49:00 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:49:00 fedora kernel: watchdog: BUG: soft lockup - CPU#11 stuck for 26s! [HTTP Client:5806]
May 07 10:49:00 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:49:00 fedora kernel: watchdog: BUG: soft lockup - CPU#10 stuck for 26s! [irq/200-iwlwifi:1052]
May 07 10:49:00 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:49:00 fedora kernel: watchdog: BUG: soft lockup - CPU#4 stuck for 22s! [Chrome_ChildIOT:5965]
May 07 10:49:00 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:49:00 fedora kernel: watchdog: BUG: soft lockup - CPU#6 stuck for 22s! [Chrome_ChildIOT:48803]
May 07 10:49:00 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:49:00 fedora kernel: watchdog: BUG: soft lockup - CPU#13 stuck for 27s! [nheko:5061]
May 07 10:49:00 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:49:00 fedora kernel: usb 3-10: USB disconnect, device number 4
May 07 10:49:00 fedora kernel: iwlwifi 0000:00:14.3: restart completed

=== Event 3 — 2026-05-07 12:07:26 ===
(Mid-Teams-call: 2 back-to-back NMIs in 19s; webcam URB drops; USB hub EMI disable; user kicked from active Teams call)

May 07 12:07:26 fedora kernel: iwlwifi 0000:00:14.3: Error sending SYSTEM_STATISTICS_CMD: time out after 2000ms.
May 07 12:07:26 fedora kernel: iwlwifi 0000:00:14.3: timeout waiting for FW reset ACK (inta_hw=0x4, reset_done 1)
May 07 12:07:26 fedora kernel: iwlwifi 0000:00:14.3: Device error - SW reset
May 07 12:07:36 fedora kernel: uvcvideo 3-9:1.1: Failed to resubmit video URB (-1).
May 07 12:07:37 fedora kernel: iwlwifi 0000:00:14.3: restart completed
May 07 12:07:45 fedora kernel: iwlwifi 0000:00:14.3: Error sending SYSTEM_STATISTICS_CMD: time out after 2000ms.
May 07 12:07:45 fedora kernel: iwlwifi 0000:00:14.3: timeout waiting for FW reset ACK (inta_hw=0x4, reset_done 1)
May 07 12:07:45 fedora kernel: iwlwifi 0000:00:14.3: Device error - SW reset
May 07 12:08:01 fedora kernel: uvcvideo 3-9:1.1: Failed to resubmit video URB (-1).
May 07 12:08:01 fedora kernel: iwlwifi 0000:00:14.3: restart completed
May 07 12:08:01 fedora kernel: wlp0s20f3: deauthenticated from 78:20:51:14:69:57 (Reason: 6=CLASS2_FRAME_FROM_NONAUTH_STA)
May 07 12:08:03 fedora kernel: usb usb3-port10: disabled by hub (EMI?), re-enabling...
May 07 12:08:03 fedora kernel: usb 3-10: USB disconnect, device number 5
May 07 12:08:11 fedora kernel: hid-generic 0005:046D:B013.0004: input,hidraw1: BLUETOOTH HID v0.07 Keyboard [MX Anywhere 2] on e8:bf:e1:8f:34:ea

[-- Attachment #3: iwlwifi-bz-nmi-full.txt --]
[-- Type: text/plain, Size: 225147 bytes --]

May 07 10:32:08 fedora kernel: usb 3-7: reset full-speed USB device number 2 using xhci_hcd
May 07 10:34:21 fedora kernel: iwlwifi 0000:00:14.3: Error sending SYSTEM_STATISTICS_CMD: time out after 2000ms.
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: Current CMD queue read_ptr 1078 write_ptr 1079
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: Transport status: 0x0000004A, valid: 6
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: Loaded firmware version: 101.6e695a70.0 bz-b0-fm-c0-c101.ucode
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000084 | NMI_INTERRUPT_UNKNOWN       
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x008002F0 | trm_hw_status0
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | trm_hw_status1
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x002C3EAE | branchlink2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x002B963C | interruptlink1
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x002B963C | interruptlink2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00007CE0 | data1
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x01000000 | data2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | data3
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | beacon time
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x62843873 | tsf low
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000001 | tsf hi
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | time gp1
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x62870C63 | time gp2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000001 | uCode revision type
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000065 | uCode version major
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x6E695A70 | uCode version minor
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00080930 | hw version
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x40480002 | board version
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x8029F500 | hcmd
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00020000 | isr0
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | isr1
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x48F00002 | isr2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00C0001C | isr3
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | isr4
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x03FC001C | last cmd Id
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00007CE0 | wait_event
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | l2p_control
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | l2p_duration
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | l2p_mhvalid
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | l2p_addr_match
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000009 | lmpm_pmg_sel
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | timestamp
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | flow_handler
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: Transport status: 0x0000004A, valid: 6
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: Loaded firmware version: 101.6e695a70.0 bz-b0-fm-c0-c101.ucode
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000084 | NMI_INTERRUPT_UNKNOWN       
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x000002F0 | trm_hw_status0
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | trm_hw_status1
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x002C3EAE | branchlink2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x002B963C | interruptlink1
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x002B963C | interruptlink2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x002A715E | data1
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x01000000 | data2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | data3
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | beacon time
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x6284387D | tsf low
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000001 | tsf hi
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | time gp1
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x62870C6D | time gp2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000001 | uCode revision type
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000065 | uCode version major
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x6E695A70 | uCode version minor
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00080930 | hw version
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x40480002 | board version
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x8023FC11 | hcmd
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00020000 | isr0
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | isr1
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x68F80002 | isr2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00C0001C | isr3
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | isr4
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | last cmd Id
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x002A715E | wait_event
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | l2p_control
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | l2p_duration
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | l2p_mhvalid
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | l2p_addr_match
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000028 | lmpm_pmg_sel
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | timestamp
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | flow_handler
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: Transport status: 0x0000004A, valid: 7
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x20000066 | NMI_INTERRUPT_HOST
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | umac branchlink1
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0xC00808AE | umac branchlink2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x8028AF9A | umac interruptlink1
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x0101C5BC | umac interruptlink2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x01000000 | umac data1
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x0101C5BC | umac data2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | umac data3
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000065 | umac major
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x6E695A70 | umac minor
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x62870C5B | frame pointer
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0xD00D6258 | stack pointer
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x0036020F | last host cmd
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000400 | isr status reg
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: TCM1 status:
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000070 | error ID
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00002452 | tcm branchlink2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00001980 | tcm interruptlink1
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00001980 | tcm interruptlink2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x40000000 | tcm data1
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0xDEADBEEF | tcm data2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0xDEADBEEF | tcm data3
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x000024D0 | tcm log PC
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00803FF0 | tcm frame pointer
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00803F5C | tcm stack pointer
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | tcm msg ID
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x4000000F | tcm ISR status
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x008002F0 | tcm HW status[0]
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | tcm HW status[1]
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000020 | tcm HW status[2]
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x60008220 | tcm HW status[3]
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | tcm HW status[4]
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | tcm SW status[0]
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: RCM1 status:
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000070 | error ID
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x000015D6 | rcm branchlink2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000880 | rcm interruptlink1
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000880 | rcm interruptlink2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x20000000 | rcm data1
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0xDEADBEEF | rcm data2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0xDEADBEEF | rcm data3
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00001640 | rcm log PC
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00803FF0 | rcm frame pointer
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00803F5C | rcm stack pointer
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | rcm msg ID
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x20040000 | rcm ISR status
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00020400 | frame HW status
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | LMAC-to-RCM request mbox
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | RCM-to-LMAC request mbox
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | MAC header control
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | MAC header addr1 low
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x003C0000 | MAC header info
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | MAC header error
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: TCM2 status:
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000070 | error ID
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00002452 | tcm branchlink2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00001980 | tcm interruptlink1
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00001980 | tcm interruptlink2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x40000000 | tcm data1
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0xDEADBEEF | tcm data2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0xDEADBEEF | tcm data3
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x000024D0 | tcm log PC
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00803FF0 | tcm frame pointer
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00803F5C | tcm stack pointer
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | tcm msg ID
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x40000000 | tcm ISR status
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x000002F0 | tcm HW status[0]
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | tcm HW status[1]
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | tcm HW status[2]
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x20008000 | tcm HW status[3]
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | tcm HW status[4]
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | tcm SW status[0]
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: RCM2 status:
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000070 | error ID
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x000015D6 | rcm branchlink2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000880 | rcm interruptlink1
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000880 | rcm interruptlink2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x20000000 | rcm data1
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0xDEADBEEF | rcm data2
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0xDEADBEEF | rcm data3
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00001640 | rcm log PC
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00803FF0 | rcm frame pointer
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00803F5C | rcm stack pointer
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | rcm msg ID
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x20000000 | rcm ISR status
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00020400 | frame HW status
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | LMAC-to-RCM request mbox
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | RCM-to-LMAC request mbox
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | MAC header control
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | MAC header addr1 low
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x003C0000 | MAC header info
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | MAC header error
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: IML/ROM dump:
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000B03 | IML/ROM error/state
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x0000E5D0 | IML/ROM data1
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000080 | IML/ROM WFPM_AUTH_KEY_0
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: Fseq Registers:
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x66A00000 | FSEQ_ERROR_CODE
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x80B10005 | FSEQ_TOP_INIT_VERSION
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00A30000 | FSEQ_CNVIO_INIT_VERSION
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x0000AA15 | FSEQ_OTP_VERSION
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x0000000F | FSEQ_TOP_CONTENT_VERSION
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x4552414E | FSEQ_ALIVE_TOKEN
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00080930 | FSEQ_CNVI_ID
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x02001910 | FSEQ_CNVR_ID
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00080930 | CNVI_AUX_MISC_CHIP
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x02001910 | CNVR_AUX_MISC_CHIP
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x8F0F1BEF | CNVR_SCU_SD_REGS_SD_REG_DIG_DCDC_VTRIM
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | CNVR_SCU_SD_REGS_SD_REG_ACTIVE_VDIG_MIRROR
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00A30000 | FSEQ_PREV_CNVIO_INIT_VERSION
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00B10005 | FSEQ_WIFI_FSEQ_VERSION
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x00B10005 | FSEQ_BT_FSEQ_VERSION
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x000000E6 | FSEQ_CLASS_TP_VERSION
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: UMAC CURRENT PC: 0xc0086530
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: LMAC1 CURRENT PC: 0xd0
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: LMAC2 CURRENT PC: 0xd0
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: UMAC CURRENT PC 1: 0xc008652e
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: TCM1 CURRENT PC: 0xd0
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: RCM1 CURRENT PC: 0xd0
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: RCM2 CURRENT PC: 0xd0
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: Function Scratch status:
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: 0x01010100 | Func Scratch
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: WRT: Collecting data: ini trigger 4 fired (delay=0ms).
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: timeout waiting for FW reset ACK (inta_hw=0x4, reset_done 1)
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: Device error - SW reset
May 07 10:34:38 fedora kernel: ieee80211 phy0: Hardware restart was requested
May 07 10:34:38 fedora kernel: i915 0000:00:02.0: [drm] *ERROR* GT0: GUC: TLB invalidation response timed out for seqno 559586
May 07 10:34:38 fedora kernel: watchdog: BUG: soft lockup - CPU#2 stuck for 22s! [tailscaled:1508]
May 07 10:34:38 fedora kernel: CPU#2 Utilization every 4000ms during lockup:
May 07 10:34:38 fedora kernel:         #1: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #2: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #3: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #4: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #5: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel: Modules linked in: uhid xt_connmark xt_conntrack xt_MASQUERADE xt_mark nft_compat overlay rfcomm snd_seq_dummy snd_hrtimer binfmt_misc tun uinput nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common qrtr snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib bnep snd_soc_dmic snd_hda_codec_generic snd_hda_intel snd_sof_pci_intel_mtl sunrpc snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_hda_ext_core snd_hda_codec snd_hda_core snd_intel_dspcfg snd_intel_sdw_acpi snd_soc_acpi_intel_match
May 07 10:34:38 fedora kernel:  snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils x86_pkg_temp_thermal snd_soc_acpi intel_powerclamp snd_hwdep coretemp crc8 soundwire_bus uvcvideo kvm_intel snd_soc_sdca uvc vfat iwlmld snd_soc_core videobuf2_vmalloc fat kvm snd_compress btusb videobuf2_memops btmtk mac80211 ac97_bus processor_thermal_device_pci videobuf2_v4l2 irqbypass btrtl libarc4 snd_pcm_dmaengine processor_thermal_device videobuf2_common snd_seq btbcm processor_thermal_wt_hint rapl videodev btintel mc snd_seq_device iTCO_wdt intel_cstate platform_temperature_control spi_nor processor_thermal_soc_slider snd_ctl_led iwlwifi bluetooth snd_pcm intel_uncore think_lmi processor_thermal_rfim mei_gsc_proxy intel_rapl_msr intel_pmc_bxt mtd intel_pmc_core iTCO_vendor_support thinkpad_acpi mei_wdt processor_thermal_rapl pmt_telemetry pcspkr idma64 intel_rapl_common firmware_attributes_class snd_timer platform_profile processor_thermal_wt_req pmt_discovery wmi_bmof mei_me snd cfg80211 processor_thermal_power_floor
May 07 10:34:38 fedora kernel:  pmt_class i2c_i801 int3400_thermal soc_button_array spi_intel_pci int3403_thermal joydev processor_thermal_mbox intel_hid mei rfkill soundcore intel_pmc_ssram_telemetry acpi_pad acpi_tad i2c_smbus acpi_thermal_rel spi_intel igen6_edac sparse_keymap int340x_thermal_zone nfnetlink zram lz4hc_compress lz4_compress xe drm_ttm_helper drm_suballoc_helper gpu_sched drm_gpuvm drm_exec drm_gpusvm_helper i915 ucsi_acpi typec_ucsi typec i2c_algo_bit nvme drm_buddy nvme_core hid_multitouch ttm nvme_keyring drm_display_helper nvme_auth i2c_hid_acpi thunderbolt video intel_vpu cec hkdf intel_vsec i2c_hid ghash_clmulni_intel wmi pinctrl_meteorlake serio_raw fuse i2c_dev
May 07 10:34:38 fedora kernel: CPU: 2 UID: 0 PID: 1508 Comm: tailscaled Not tainted 6.19.14-300.fc44.x86_64 #1 PREEMPT(lazy) 
May 07 10:34:38 fedora kernel: Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W (1.15 ) 02/25/2026
May 07 10:34:38 fedora kernel: RIP: 0010:native_queued_spin_lock_slowpath+0x251/0x300
May 07 10:34:38 fedora kernel: Code: 48 63 f6 48 05 00 de b4 8f 48 81 fe 00 20 00 00 0f 83 81 00 00 00 48 03 04 f5 e0 f0 3b 8e 48 89 10 8b 72 08 85 f6 75 09 f3 90 <8b> 42 08 85 c0 74 f7 48 8b 32 48 85 f6 74 07 0f 0d 0e eb 02 f3 90
May 07 10:34:38 fedora kernel: RSP: 0018:ffffd3aa4d533778 EFLAGS: 00000246
May 07 10:34:38 fedora kernel: RAX: 0000000000000000 RBX: ffff8aebf6a10000 RCX: ffff8aebd037f500
May 07 10:34:38 fedora kernel: RDX: ffff8afadfd33e00 RSI: 0000000000000000 RDI: 0000000000000009
May 07 10:34:38 fedora kernel: RBP: ffff8af213d6f600 R08: 00000000000c0000 R09: ffff8afb501e6000
May 07 10:34:38 fedora kernel: R10: 00000000000c0000 R11: 0000000000000010 R12: ffff8aebd037f400
May 07 10:34:38 fedora kernel: R13: 0000000000000002 R14: 0000000000000000 R15: 00000000010012ac
May 07 10:34:38 fedora kernel: FS:  0000112a50864890(0000) GS:ffff8afb501e6000(0000) knlGS:0000000000000000
May 07 10:34:38 fedora kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 07 10:34:38 fedora kernel: CR2: 00007f34df8e3000 CR3: 00000001435a6004 CR4: 0000000000f72ef0
May 07 10:34:38 fedora kernel: PKRU: 55555554
May 07 10:34:38 fedora kernel: Call Trace:
May 07 10:34:38 fedora kernel:  <TASK>
May 07 10:34:38 fedora kernel:  _raw_spin_lock+0x29/0x30
May 07 10:34:38 fedora kernel:  __dev_queue_xmit+0x7c3/0x9f0
May 07 10:34:38 fedora kernel:  ? selinux_ip_postroute+0x23d/0x5e0
May 07 10:34:38 fedora kernel:  ? ip_skb_dst_mtu+0x12c/0x1b0
May 07 10:34:38 fedora kernel:  ip_finish_output2+0x241/0x5f0
May 07 10:34:38 fedora kernel:  ? __ip_finish_output+0x46/0x170
May 07 10:34:38 fedora kernel:  ? nf_hook_slow+0x47/0x100
May 07 10:34:38 fedora kernel:  ip_output+0x63/0x110
May 07 10:34:38 fedora kernel:  ? __pfx_ip_finish_output+0x10/0x10
May 07 10:34:38 fedora kernel:  ip_send_skb+0x89/0xa0
May 07 10:34:38 fedora kernel:  udp_send_skb+0x1a7/0x3c0
May 07 10:34:38 fedora kernel:  ? udp_sendmsg+0xb4b/0xfe0
May 07 10:34:38 fedora kernel:  ? udp_sendmsg+0xb4b/0xfe0
May 07 10:34:38 fedora kernel:  udp_sendmsg+0xb6f/0xfe0
May 07 10:34:38 fedora kernel:  ? __pfx_ip_generic_getfrag+0x10/0x10
May 07 10:34:38 fedora kernel:  ? __smp_call_single_queue+0xdb/0x190
May 07 10:34:38 fedora kernel:  __sys_sendto+0x229/0x240
May 07 10:34:38 fedora kernel:  __x64_sys_sendto+0x24/0x30
May 07 10:34:38 fedora kernel:  do_syscall_64+0x7e/0x6e0
May 07 10:34:38 fedora kernel:  ? __pfx_futex_wake_mark+0x10/0x10
May 07 10:34:38 fedora kernel:  ? futex_wait+0xbc/0x160
May 07 10:34:38 fedora kernel:  ? do_futex+0xc5/0x190
May 07 10:34:38 fedora kernel:  ? __x64_sys_futex+0x12a/0x220
May 07 10:34:38 fedora kernel:  ? switch_fpu_return+0x59/0xf0
May 07 10:34:38 fedora kernel:  ? arch_exit_to_user_mode_prepare.isra.0+0x9f/0xc0
May 07 10:34:38 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:34:38 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:34:38 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:34:38 fedora kernel:  ? seq_lseek+0x8d/0x110
May 07 10:34:38 fedora kernel:  ? fdget_pos+0x81/0x160
May 07 10:34:38 fedora kernel:  ? proc_reg_llseek+0x4e/0x90
May 07 10:34:38 fedora kernel:  ? ksys_lseek+0x88/0xb0
May 07 10:34:38 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:34:38 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:34:38 fedora kernel:  ? irqentry_exit+0x7b/0x560
May 07 10:34:38 fedora kernel:  ? __irq_exit_rcu+0x4c/0xf0
May 07 10:34:38 fedora kernel:  entry_SYSCALL_64_after_hwframe+0x76/0x7e
May 07 10:34:38 fedora kernel: RIP: 0033:0x40abae
May 07 10:34:38 fedora kernel: Code: ff cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc 49 89 f2 48 89 fa 48 89 ce 48 89 df 0f 05 <48> 3d 01 f0 ff ff 76 15 48 f7 d8 48 89 c1 48 c7 c0 ff ff ff ff 48
May 07 10:34:38 fedora kernel: RSP: 002b:0000112a53643530 EFLAGS: 00000212 ORIG_RAX: 000000000000002c
May 07 10:34:38 fedora kernel: RAX: ffffffffffffffda RBX: 0000000000000013 RCX: 000000000040abae
May 07 10:34:38 fedora kernel: RDX: 000000000000007c RSI: 0000112a5144c800 RDI: 0000000000000013
May 07 10:34:38 fedora kernel: RBP: 0000112a53643570 R08: 0000112a536437fc R09: 0000000000000010
May 07 10:34:38 fedora kernel: R10: 0000000000000000 R11: 0000000000000212 R12: 0000112a53643700
May 07 10:34:38 fedora kernel: R13: 4d28a1da38b79d2b R14: 0000112a50883a40 R15: 0000000000000000
May 07 10:34:38 fedora kernel:  </TASK>
May 07 10:34:38 fedora kernel: watchdog: BUG: soft lockup - CPU#5 stuck for 26s! [Chrome_ChildIOT:5965]
May 07 10:34:38 fedora kernel: CPU#5 Utilization every 4000ms during lockup:
May 07 10:34:38 fedora kernel:         #1: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #2: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #3:  99% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #4: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #5: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel: Modules linked in: uhid xt_connmark xt_conntrack xt_MASQUERADE xt_mark nft_compat overlay rfcomm snd_seq_dummy snd_hrtimer binfmt_misc tun uinput nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common qrtr snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib bnep snd_soc_dmic snd_hda_codec_generic snd_hda_intel snd_sof_pci_intel_mtl sunrpc snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_hda_ext_core snd_hda_codec snd_hda_core snd_intel_dspcfg snd_intel_sdw_acpi snd_soc_acpi_intel_match
May 07 10:34:38 fedora kernel:  snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils x86_pkg_temp_thermal snd_soc_acpi intel_powerclamp snd_hwdep coretemp crc8 soundwire_bus uvcvideo kvm_intel snd_soc_sdca uvc vfat iwlmld snd_soc_core videobuf2_vmalloc fat kvm snd_compress btusb videobuf2_memops btmtk mac80211 ac97_bus processor_thermal_device_pci videobuf2_v4l2 irqbypass btrtl libarc4 snd_pcm_dmaengine processor_thermal_device videobuf2_common snd_seq btbcm processor_thermal_wt_hint rapl videodev btintel mc snd_seq_device iTCO_wdt intel_cstate platform_temperature_control spi_nor processor_thermal_soc_slider snd_ctl_led iwlwifi bluetooth snd_pcm intel_uncore think_lmi processor_thermal_rfim mei_gsc_proxy intel_rapl_msr intel_pmc_bxt mtd intel_pmc_core iTCO_vendor_support thinkpad_acpi mei_wdt processor_thermal_rapl pmt_telemetry pcspkr idma64 intel_rapl_common firmware_attributes_class snd_timer platform_profile processor_thermal_wt_req pmt_discovery wmi_bmof mei_me snd cfg80211 processor_thermal_power_floor
May 07 10:34:38 fedora kernel:  pmt_class i2c_i801 int3400_thermal soc_button_array spi_intel_pci int3403_thermal joydev processor_thermal_mbox intel_hid mei rfkill soundcore intel_pmc_ssram_telemetry acpi_pad acpi_tad i2c_smbus acpi_thermal_rel spi_intel igen6_edac sparse_keymap int340x_thermal_zone nfnetlink zram lz4hc_compress lz4_compress xe drm_ttm_helper drm_suballoc_helper gpu_sched drm_gpuvm drm_exec drm_gpusvm_helper i915 ucsi_acpi typec_ucsi typec i2c_algo_bit nvme drm_buddy nvme_core hid_multitouch ttm nvme_keyring drm_display_helper nvme_auth i2c_hid_acpi thunderbolt video intel_vpu cec hkdf intel_vsec i2c_hid ghash_clmulni_intel wmi pinctrl_meteorlake serio_raw fuse i2c_dev
May 07 10:34:38 fedora kernel: CPU: 5 UID: 1000 PID: 5965 Comm: Chrome_ChildIOT Tainted: G             L      6.19.14-300.fc44.x86_64 #1 PREEMPT(lazy) 
May 07 10:34:38 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:34:38 fedora kernel: Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W (1.15 ) 02/25/2026
May 07 10:34:38 fedora kernel: RIP: 0010:native_queued_spin_lock_slowpath+0x68/0x300
May 07 10:34:38 fedora kernel: Code: ba 29 08 0f 92 c2 8b 01 0f b6 d2 c1 e2 08 30 e4 09 d0 3d ff 00 00 00 77 51 85 c0 75 0f bf 01 00 00 00 66 89 39 c3 cc cc cc cc <f3> 90 80 39 00 75 f9 bf 01 00 00 00 66 89 39 c3 cc cc cc cc 8b 37
May 07 10:34:38 fedora kernel: RSP: 0018:ffffd3aa4ee6f5a0 EFLAGS: 00000202
May 07 10:34:38 fedora kernel: RAX: 0000000000000001 RBX: ffff8aebf6a10000 RCX: ffff8aebd037f500
May 07 10:34:38 fedora kernel: RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff8aebd037f500
May 07 10:34:38 fedora kernel: RBP: ffff8aefdce1b4e8 R08: 0000000000000000 R09: 000000000000000e
May 07 10:34:38 fedora kernel: R10: 0000000000000000 R11: 0000000000000010 R12: ffff8aebd037f400
May 07 10:34:38 fedora kernel: R13: 0000000000000005 R14: 0000000000000000 R15: 0000000000000000
May 07 10:34:38 fedora kernel: FS:  00007f18e89fb6c0(0000) GS:ffff8afb50366000(0000) knlGS:0000000000000000
May 07 10:34:38 fedora kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 07 10:34:38 fedora kernel: CR2: 00007fa87e4d412b CR3: 00000004d4bc9003 CR4: 0000000000f72ef0
May 07 10:34:38 fedora kernel: PKRU: 55555554
May 07 10:34:38 fedora kernel: Call Trace:
May 07 10:34:38 fedora kernel:  <TASK>
May 07 10:34:38 fedora kernel:  _raw_spin_lock+0x29/0x30
May 07 10:34:38 fedora kernel:  __dev_queue_xmit+0x7c3/0x9f0
May 07 10:34:38 fedora kernel:  ? selinux_ip_postroute+0x23d/0x5e0
May 07 10:34:38 fedora kernel:  ? ip_skb_dst_mtu+0x12c/0x1b0
May 07 10:34:38 fedora kernel:  ip_finish_output2+0x241/0x5f0
May 07 10:34:38 fedora kernel:  ? __ip_finish_output+0x46/0x170
May 07 10:34:38 fedora kernel:  ip_output+0x63/0x110
May 07 10:34:38 fedora kernel:  ? __pfx_ip_finish_output+0x10/0x10
May 07 10:34:38 fedora kernel:  __ip_queue_xmit+0x16d/0x460
May 07 10:34:38 fedora kernel:  __tcp_transmit_skb+0x923/0x9e0
May 07 10:34:38 fedora kernel:  tcp_write_xmit+0x538/0xb70
May 07 10:34:38 fedora kernel:  ? __check_object_size+0x6f/0xd0
May 07 10:34:38 fedora kernel:  __tcp_push_pending_frames+0x37/0x110
May 07 10:34:38 fedora kernel:  tcp_sendmsg_locked+0x5c9/0x1270
May 07 10:34:38 fedora kernel:  tcp_sendmsg+0x2f/0x50
May 07 10:34:38 fedora kernel:  __sys_sendto+0x229/0x240
May 07 10:34:38 fedora kernel:  __x64_sys_sendto+0x24/0x30
May 07 10:34:38 fedora kernel:  do_syscall_64+0x7e/0x6e0
May 07 10:34:38 fedora kernel:  ? __sys_recvmsg+0xeb/0x100
May 07 10:34:38 fedora kernel:  ? select_idle_core.isra.0+0x5b/0x220
May 07 10:34:38 fedora kernel:  ? chacha_block_generic+0x7a/0x160
May 07 10:34:38 fedora kernel:  ? crng_fast_key_erasure+0x102/0x170
May 07 10:34:38 fedora kernel:  ? __smp_call_single_queue+0xdb/0x190
May 07 10:34:38 fedora kernel:  ? get_random_bytes_user+0x257/0x290
May 07 10:34:38 fedora kernel:  ? __x64_sys_getrandom+0x80/0xe0
May 07 10:34:38 fedora kernel:  ? __hrtimer_run_queues+0x12f/0x280
May 07 10:34:38 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:34:38 fedora kernel:  ? hrtimer_update_next_event+0x7b/0xa0
May 07 10:34:38 fedora kernel:  ? sched_clock+0x10/0x30
May 07 10:34:38 fedora kernel:  ? sched_clock_cpu+0xf/0x230
May 07 10:34:38 fedora kernel:  ? irqtime_account_irq+0x3c/0xc0
May 07 10:34:38 fedora kernel:  ? irqentry_exit+0x7b/0x560
May 07 10:34:38 fedora kernel:  ? __irq_exit_rcu+0x4c/0xf0
May 07 10:34:38 fedora kernel:  entry_SYSCALL_64_after_hwframe+0x76/0x7e
May 07 10:34:38 fedora kernel: RIP: 0033:0x7f18fc7f3e32
May 07 10:34:38 fedora kernel: Code: 08 0f 85 91 41 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 55 bf 01 00
May 07 10:34:38 fedora kernel: RSP: 002b:00007f18e89f7828 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
May 07 10:34:38 fedora kernel: RAX: ffffffffffffffda RBX: 00003f34005994a0 RCX: 00007f18fc7f3e32
May 07 10:34:38 fedora kernel: RDX: 000000000000001d RSI: 00003f34002e1000 RDI: 000000000000001c
May 07 10:34:38 fedora kernel: RBP: 00007f18e89f7850 R08: 0000000000000000 R09: 0000000000000000
May 07 10:34:38 fedora kernel: R10: 0000000000004000 R11: 0000000000000246 R12: 00003f3401581d00
May 07 10:34:38 fedora kernel: R13: 00003f34028b2500 R14: 00003f34028b2600 R15: 000000000000001d
May 07 10:34:38 fedora kernel:  </TASK>
May 07 10:34:38 fedora kernel: watchdog: BUG: soft lockup - CPU#7 stuck for 26s! [nheko:5061]
May 07 10:34:38 fedora kernel: CPU#7 Utilization every 4000ms during lockup:
May 07 10:34:38 fedora kernel:         #1:  99% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #2: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #3: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #4: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #5: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel: Modules linked in: uhid xt_connmark xt_conntrack xt_MASQUERADE xt_mark nft_compat overlay rfcomm snd_seq_dummy snd_hrtimer binfmt_misc tun uinput nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common qrtr snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib bnep snd_soc_dmic snd_hda_codec_generic snd_hda_intel snd_sof_pci_intel_mtl sunrpc snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_hda_ext_core snd_hda_codec snd_hda_core snd_intel_dspcfg snd_intel_sdw_acpi snd_soc_acpi_intel_match
May 07 10:34:38 fedora kernel:  snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils x86_pkg_temp_thermal snd_soc_acpi intel_powerclamp snd_hwdep coretemp crc8 soundwire_bus uvcvideo kvm_intel snd_soc_sdca uvc vfat iwlmld snd_soc_core videobuf2_vmalloc fat kvm snd_compress btusb videobuf2_memops btmtk mac80211 ac97_bus processor_thermal_device_pci videobuf2_v4l2 irqbypass btrtl libarc4 snd_pcm_dmaengine processor_thermal_device videobuf2_common snd_seq btbcm processor_thermal_wt_hint rapl videodev btintel mc snd_seq_device iTCO_wdt intel_cstate platform_temperature_control spi_nor processor_thermal_soc_slider snd_ctl_led iwlwifi bluetooth snd_pcm intel_uncore think_lmi processor_thermal_rfim mei_gsc_proxy intel_rapl_msr intel_pmc_bxt mtd intel_pmc_core iTCO_vendor_support thinkpad_acpi mei_wdt processor_thermal_rapl pmt_telemetry pcspkr idma64 intel_rapl_common firmware_attributes_class snd_timer platform_profile processor_thermal_wt_req pmt_discovery wmi_bmof mei_me snd cfg80211 processor_thermal_power_floor
May 07 10:34:38 fedora kernel:  pmt_class i2c_i801 int3400_thermal soc_button_array spi_intel_pci int3403_thermal joydev processor_thermal_mbox intel_hid mei rfkill soundcore intel_pmc_ssram_telemetry acpi_pad acpi_tad i2c_smbus acpi_thermal_rel spi_intel igen6_edac sparse_keymap int340x_thermal_zone nfnetlink zram lz4hc_compress lz4_compress xe drm_ttm_helper drm_suballoc_helper gpu_sched drm_gpuvm drm_exec drm_gpusvm_helper i915 ucsi_acpi typec_ucsi typec i2c_algo_bit nvme drm_buddy nvme_core hid_multitouch ttm nvme_keyring drm_display_helper nvme_auth i2c_hid_acpi thunderbolt video intel_vpu cec hkdf intel_vsec i2c_hid ghash_clmulni_intel wmi pinctrl_meteorlake serio_raw fuse i2c_dev
May 07 10:34:38 fedora kernel: CPU: 7 UID: 1000 PID: 5061 Comm: nheko Tainted: G             L      6.19.14-300.fc44.x86_64 #1 PREEMPT(lazy) 
May 07 10:34:38 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:34:38 fedora kernel: Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W (1.15 ) 02/25/2026
May 07 10:34:38 fedora kernel: RIP: 0010:native_queued_spin_lock_slowpath+0x251/0x300
May 07 10:34:38 fedora kernel: Code: 48 63 f6 48 05 00 de b4 8f 48 81 fe 00 20 00 00 0f 83 81 00 00 00 48 03 04 f5 e0 f0 3b 8e 48 89 10 8b 72 08 85 f6 75 09 f3 90 <8b> 42 08 85 c0 74 f7 48 8b 32 48 85 f6 74 07 0f 0d 0e eb 02 f3 90
May 07 10:34:38 fedora kernel: RSP: 0018:ffffd3aa644df558 EFLAGS: 00000246
May 07 10:34:38 fedora kernel: RAX: 0000000000000000 RBX: ffff8aebf6a10000 RCX: ffff8aebd037f500
May 07 10:34:38 fedora kernel: RDX: ffff8afadffb3e00 RSI: 0000000000000000 RDI: 000000000000000b
May 07 10:34:38 fedora kernel: RBP: ffff8aed91b798e8 R08: 0000000000200000 R09: ffff8afb50466000
May 07 10:34:38 fedora kernel: R10: 0000000000200000 R11: 0000000000000010 R12: ffff8aebd037f400
May 07 10:34:38 fedora kernel: R13: 0000000000000007 R14: 0000000000000000 R15: 0000000000000000
May 07 10:34:38 fedora kernel: FS:  00007f327bfff6c0(0000) GS:ffff8afb50466000(0000) knlGS:0000000000000000
May 07 10:34:38 fedora kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 07 10:34:38 fedora kernel: CR2: 00007f34df8e2000 CR3: 000000021395f006 CR4: 0000000000f72ef0
May 07 10:34:38 fedora kernel: PKRU: 55555554
May 07 10:34:38 fedora kernel: Call Trace:
May 07 10:34:38 fedora kernel:  <TASK>
May 07 10:34:38 fedora kernel:  _raw_spin_lock+0x29/0x30
May 07 10:34:38 fedora kernel:  __dev_queue_xmit+0x7c3/0x9f0
May 07 10:34:38 fedora kernel:  ? selinux_ip_postroute+0x23d/0x5e0
May 07 10:34:38 fedora kernel:  ? ip_skb_dst_mtu+0x12c/0x1b0
May 07 10:34:38 fedora kernel:  ip_finish_output2+0x241/0x5f0
May 07 10:34:38 fedora kernel:  ? __ip_finish_output+0x46/0x170
May 07 10:34:38 fedora kernel:  ip_output+0x63/0x110
May 07 10:34:38 fedora kernel:  ? __pfx_ip_finish_output+0x10/0x10
May 07 10:34:38 fedora kernel:  __ip_queue_xmit+0x16d/0x460
May 07 10:34:38 fedora kernel:  __tcp_transmit_skb+0x923/0x9e0
May 07 10:34:38 fedora kernel:  tcp_write_xmit+0x538/0xb70
May 07 10:34:38 fedora kernel:  ? __check_object_size+0x6f/0xd0
May 07 10:34:38 fedora kernel:  __tcp_push_pending_frames+0x37/0x110
May 07 10:34:38 fedora kernel:  tcp_sendmsg_locked+0x5c9/0x1270
May 07 10:34:38 fedora kernel:  tcp_sendmsg+0x2f/0x50
May 07 10:34:38 fedora kernel:  __sys_sendto+0x229/0x240
May 07 10:34:38 fedora kernel:  __x64_sys_sendto+0x24/0x30
May 07 10:34:38 fedora kernel:  do_syscall_64+0x7e/0x6e0
May 07 10:34:38 fedora kernel:  ? __x64_sys_epoll_wait+0x70/0x120
May 07 10:34:38 fedora kernel:  ? do_sigaction+0x175/0x500
May 07 10:34:38 fedora kernel:  ? __x64_sys_rt_sigaction+0x11a/0x150
May 07 10:34:38 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:34:38 fedora kernel:  ? psi_task_switch+0x1fa/0x3b0
May 07 10:34:38 fedora kernel:  ? finish_task_switch.isra.0+0x82/0x2a0
May 07 10:34:38 fedora kernel:  ? do_sigaction+0x175/0x500
May 07 10:34:38 fedora kernel:  ? place_entity+0x94/0x140
May 07 10:34:38 fedora kernel:  ? reweight_entity+0x1f5/0x260
May 07 10:34:38 fedora kernel:  ? task_tick_fair+0x5e/0x600
May 07 10:34:38 fedora kernel:  ? nohz_balance_exit_idle+0x61/0xd0
May 07 10:34:38 fedora kernel:  ? sched_clock+0x10/0x30
May 07 10:34:38 fedora kernel:  ? nohz_balancer_kick+0x3a/0x340
May 07 10:34:38 fedora kernel:  ? perf_event_task_tick+0x4f/0xb0
May 07 10:34:38 fedora kernel:  ? sched_tick+0xf3/0x260
May 07 10:34:38 fedora kernel:  ? __pfx_tick_nohz_handler+0x10/0x10
May 07 10:34:38 fedora kernel:  ? update_process_times+0x95/0xc0
May 07 10:34:38 fedora kernel:  ? tick_nohz_handler+0xb1/0x180
May 07 10:34:38 fedora kernel:  ? timerqueue_add+0xb8/0xe0
May 07 10:34:38 fedora kernel:  ? __hrtimer_run_queues+0x14f/0x280
May 07 10:34:38 fedora kernel:  ? ktime_get+0xc6/0x110
May 07 10:34:38 fedora kernel:  ? lapic_next_deadline+0x26/0x30
May 07 10:34:38 fedora kernel:  ? clockevents_program_event+0xab/0x110
May 07 10:34:38 fedora kernel:  ? hrtimer_update_next_event+0x7b/0xa0
May 07 10:34:38 fedora kernel:  ? sched_clock+0x10/0x30
May 07 10:34:38 fedora kernel:  ? sched_clock_cpu+0xf/0x230
May 07 10:34:38 fedora kernel:  ? irqtime_account_irq+0x3c/0xc0
May 07 10:34:38 fedora kernel:  ? irqentry_exit+0x7b/0x560
May 07 10:34:38 fedora kernel:  ? __irq_exit_rcu+0x4c/0xf0
May 07 10:34:38 fedora kernel:  entry_SYSCALL_64_after_hwframe+0x76/0x7e
May 07 10:34:38 fedora kernel: RIP: 0033:0x7f32e3c80e32
May 07 10:34:38 fedora kernel: Code: 08 0f 85 91 41 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 55 bf 01 00
May 07 10:34:38 fedora kernel: RSP: 002b:00007f327bff9558 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
May 07 10:34:38 fedora kernel: RAX: ffffffffffffffda RBX: 00007f2a4017e380 RCX: 00007f32e3c80e32
May 07 10:34:38 fedora kernel: RDX: 000000000000005f RSI: 00007f2a401bd173 RDI: 000000000000003f
May 07 10:34:38 fedora kernel: RBP: 00007f327bff9580 R08: 0000000000000000 R09: 0000000000000000
May 07 10:34:38 fedora kernel: R10: 0000000000004000 R11: 0000000000000246 R12: 000055d1f45c15f0
May 07 10:34:38 fedora kernel: R13: 000000000000005f R14: 000000000000003f R15: 00007f327bff9740
May 07 10:34:38 fedora kernel:  </TASK>
May 07 10:34:38 fedora kernel: watchdog: BUG: soft lockup - CPU#12 stuck for 26s! [ssh:70503]
May 07 10:34:38 fedora kernel: CPU#12 Utilization every 4000ms during lockup:
May 07 10:34:38 fedora kernel:         #1:  99% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #2:  99% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #3:  99% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #4:  99% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #5: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel: Modules linked in: uhid xt_connmark xt_conntrack xt_MASQUERADE xt_mark nft_compat overlay rfcomm snd_seq_dummy snd_hrtimer binfmt_misc tun uinput nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common qrtr snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib bnep snd_soc_dmic snd_hda_codec_generic snd_hda_intel snd_sof_pci_intel_mtl sunrpc snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_hda_ext_core snd_hda_codec snd_hda_core snd_intel_dspcfg snd_intel_sdw_acpi snd_soc_acpi_intel_match
May 07 10:34:38 fedora kernel:  snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils x86_pkg_temp_thermal snd_soc_acpi intel_powerclamp snd_hwdep coretemp crc8 soundwire_bus uvcvideo kvm_intel snd_soc_sdca uvc vfat iwlmld snd_soc_core videobuf2_vmalloc fat kvm snd_compress btusb videobuf2_memops btmtk mac80211 ac97_bus processor_thermal_device_pci videobuf2_v4l2 irqbypass btrtl libarc4 snd_pcm_dmaengine processor_thermal_device videobuf2_common snd_seq btbcm processor_thermal_wt_hint rapl videodev btintel mc snd_seq_device iTCO_wdt intel_cstate platform_temperature_control spi_nor processor_thermal_soc_slider snd_ctl_led iwlwifi bluetooth snd_pcm intel_uncore think_lmi processor_thermal_rfim mei_gsc_proxy intel_rapl_msr intel_pmc_bxt mtd intel_pmc_core iTCO_vendor_support thinkpad_acpi mei_wdt processor_thermal_rapl pmt_telemetry pcspkr idma64 intel_rapl_common firmware_attributes_class snd_timer platform_profile processor_thermal_wt_req pmt_discovery wmi_bmof mei_me snd cfg80211 processor_thermal_power_floor
May 07 10:34:38 fedora kernel:  pmt_class i2c_i801 int3400_thermal soc_button_array spi_intel_pci int3403_thermal joydev processor_thermal_mbox intel_hid mei rfkill soundcore intel_pmc_ssram_telemetry acpi_pad acpi_tad i2c_smbus acpi_thermal_rel spi_intel igen6_edac sparse_keymap int340x_thermal_zone nfnetlink zram lz4hc_compress lz4_compress xe drm_ttm_helper drm_suballoc_helper gpu_sched drm_gpuvm drm_exec drm_gpusvm_helper i915 ucsi_acpi typec_ucsi typec i2c_algo_bit nvme drm_buddy nvme_core hid_multitouch ttm nvme_keyring drm_display_helper nvme_auth i2c_hid_acpi thunderbolt video intel_vpu cec hkdf intel_vsec i2c_hid ghash_clmulni_intel wmi pinctrl_meteorlake serio_raw fuse i2c_dev
May 07 10:34:38 fedora kernel: CPU: 12 UID: 1000 PID: 70503 Comm: ssh Tainted: G             L      6.19.14-300.fc44.x86_64 #1 PREEMPT(lazy) 
May 07 10:34:38 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:34:38 fedora kernel: Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W (1.15 ) 02/25/2026
May 07 10:34:38 fedora kernel: RIP: 0010:skb_release_data+0x7c/0x250
May 07 10:34:38 fedora kernel: Code: f0 41 0f c1 54 24 20 39 d0 0f 85 40 01 00 00 48 89 5c 24 10 4d 85 ed 74 6a 41 8b 85 c0 00 00 00 49 03 85 c8 00 00 00 0f b6 10 <f6> c2 01 74 54 48 8b 70 28 48 85 f6 74 4b 41 0f b6 1c 24 83 e3 10
May 07 10:34:38 fedora kernel: RSP: 0018:ffffd3aa774fb0a8 EFLAGS: 00000282
May 07 10:34:38 fedora kernel: RAX: ffff8af8fe6c8c80 RBX: ffff8af8fe669800 RCX: 000000000000000b
May 07 10:34:38 fedora kernel: RDX: 0000000000000000 RSI: 0000000000000002 RDI: ffff8af8fe669800
May 07 10:34:38 fedora kernel: RBP: ffff8af8fe669700 R08: 0000000000000000 R09: ffffffff8d5d2d4c
May 07 10:34:38 fedora kernel: R10: ffff8af8fe6caec0 R11: fffffb00b8f9b200 R12: ffff8af8fe6c8c80
May 07 10:34:38 fedora kernel: R13: ffff8af8fe669800 R14: 0000000000000002 R15: 0000000000000000
May 07 10:34:38 fedora kernel: FS:  00007f29389cbcc0(0000) GS:ffff8afb506e6000(0000) knlGS:0000000000000000
May 07 10:34:38 fedora kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 07 10:34:38 fedora kernel: CR2: 00007f293825fb40 CR3: 000000073df93003 CR4: 0000000000f72ef0
May 07 10:34:38 fedora kernel: PKRU: 55555554
May 07 10:34:38 fedora kernel: Call Trace:
May 07 10:34:38 fedora kernel:  <TASK>
May 07 10:34:38 fedora kernel:  kfree_skb_list_reason+0x9f/0x270
May 07 10:34:38 fedora kernel:  ? asm_sysvec_apic_timer_interrupt+0x1a/0x20
May 07 10:34:38 fedora kernel:  skb_segment+0x539/0xeb0
May 07 10:34:38 fedora kernel:  tcp_gso_segment+0x11f/0x620
May 07 10:34:38 fedora kernel:  ? __pfx_tcp_wfree+0x10/0x10
May 07 10:34:38 fedora kernel:  inet_gso_segment+0x166/0x440
May 07 10:34:38 fedora kernel:  ? iwl_txq_gen2_set_tb_with_wa+0x5a/0x410 [iwlwifi]
May 07 10:34:38 fedora kernel:  skb_mac_gso_segment+0xaa/0x120
May 07 10:34:38 fedora kernel:  __skb_gso_segment+0x79/0x1c0
May 07 10:34:38 fedora kernel:  ? codel_dequeue.constprop.0+0x53/0x440 [mac80211]
May 07 10:34:38 fedora kernel:  iwl_tx_tso_segment+0x32a/0x380 [iwlwifi]
May 07 10:34:38 fedora kernel:  iwl_mld_tx_skb+0xdb/0x240 [iwlmld]
May 07 10:34:38 fedora kernel:  iwl_mld_tx_from_txq+0x94/0x130 [iwlmld]
May 07 10:34:38 fedora kernel:  ieee80211_queue_skb+0x22d/0x370 [mac80211]
May 07 10:34:38 fedora kernel:  __ieee80211_xmit_fast+0x24f/0x370 [mac80211]
May 07 10:34:38 fedora kernel:  ieee80211_xmit_fast+0x149/0x230 [mac80211]
May 07 10:34:38 fedora kernel:  __ieee80211_subif_start_xmit+0x140/0x2d0 [mac80211]
May 07 10:34:38 fedora kernel:  ieee80211_subif_start_xmit+0x43/0x230 [mac80211]
May 07 10:34:38 fedora kernel:  ? netif_skb_features+0xd0/0x600
May 07 10:34:38 fedora kernel:  ? nft_do_chain+0x154/0x5d0 [nf_tables]
May 07 10:34:38 fedora kernel:  xmit_one.constprop.0+0x5a/0x140
May 07 10:34:38 fedora kernel:  dev_hard_start_xmit+0x53/0xa0
May 07 10:34:38 fedora kernel:  __dev_queue_xmit+0x800/0x9f0
May 07 10:34:38 fedora kernel:  ? selinux_ip_postroute+0x23d/0x5e0
May 07 10:34:38 fedora kernel:  ip_finish_output2+0x241/0x5f0
May 07 10:34:38 fedora kernel:  ? __ip_finish_output+0xb4/0x170
May 07 10:34:38 fedora kernel:  ip_output+0x63/0x110
May 07 10:34:38 fedora kernel:  ? __pfx_ip_finish_output+0x10/0x10
May 07 10:34:38 fedora kernel:  __ip_queue_xmit+0x16d/0x460
May 07 10:34:38 fedora kernel:  __tcp_transmit_skb+0x923/0x9e0
May 07 10:34:38 fedora kernel:  tcp_write_xmit+0x538/0xb70
May 07 10:34:38 fedora kernel:  __tcp_push_pending_frames+0x37/0x110
May 07 10:34:38 fedora kernel:  tcp_sendmsg_locked+0x5c9/0x1270
May 07 10:34:38 fedora kernel:  tcp_sendmsg+0x2f/0x50
May 07 10:34:38 fedora kernel:  sock_write_iter+0x187/0x1a0
May 07 10:34:38 fedora kernel:  vfs_write+0x454/0x570
May 07 10:34:38 fedora kernel:  ksys_write+0xcf/0x110
May 07 10:34:38 fedora kernel:  do_syscall_64+0x7e/0x6e0
May 07 10:34:38 fedora kernel:  ? do_read_fault+0x107/0x270
May 07 10:34:38 fedora kernel:  ? handle_pte_fault+0x174/0x220
May 07 10:34:38 fedora kernel:  ? do_fault+0x153/0x220
May 07 10:34:38 fedora kernel:  ? __handle_mm_fault+0x47c/0x6f0
May 07 10:34:38 fedora kernel:  ? count_memcg_events+0xd6/0x210
May 07 10:34:38 fedora kernel:  ? handle_mm_fault+0x248/0x330
May 07 10:34:38 fedora kernel:  ? do_user_addr_fault+0x2cd/0x830
May 07 10:34:38 fedora kernel:  ? irqentry_exit+0x7b/0x560
May 07 10:34:38 fedora kernel:  ? exc_page_fault+0x8f/0x1d0
May 07 10:34:38 fedora kernel:  entry_SYSCALL_64_after_hwframe+0x76/0x7e
May 07 10:34:38 fedora kernel: RIP: 0033:0x7f293827508e
May 07 10:34:38 fedora kernel: Code: 4d 89 d8 e8 94 bd 00 00 4c 8b 5d f8 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 11 c9 c3 0f 1f 80 00 00 00 00 48 8b 45 10 0f 05 <c9> c3 83 e2 39 83 fa 08 75 e7 e8 03 ff ff ff 0f 1f 00 f3 0f 1e fa
May 07 10:34:38 fedora kernel: RSP: 002b:00007fff135da160 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
May 07 10:34:38 fedora kernel: RAX: ffffffffffffffda RBX: 00005643ea2c9b70 RCX: 00007f293827508e
May 07 10:34:38 fedora kernel: RDX: 00000000000005b0 RSI: 00005643ea2e3e90 RDI: 0000000000000003
May 07 10:34:38 fedora kernel: RBP: 00007fff135da170 R08: 0000000000000000 R09: 0000000000000000
May 07 10:34:38 fedora kernel: R10: 0000000000000000 R11: 0000000000000202 R12: 00005643ea2c9e30
May 07 10:34:38 fedora kernel: R13: 00005643ea2c9b70 R14: 00005643ea2c92f0 R15: 00007fff135dc4c0
May 07 10:34:38 fedora kernel:  </TASK>
May 07 10:34:38 fedora kernel: watchdog: BUG: soft lockup - CPU#10 stuck for 26s! [irq/196-iwlwifi:1048]
May 07 10:34:38 fedora kernel: CPU#10 Utilization every 4000ms during lockup:
May 07 10:34:38 fedora kernel:         #1:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #2:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #3:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #4:   1% system,        100% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #5:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel: Modules linked in: uhid xt_connmark xt_conntrack xt_MASQUERADE xt_mark nft_compat overlay rfcomm snd_seq_dummy snd_hrtimer binfmt_misc tun uinput nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common qrtr snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib bnep snd_soc_dmic snd_hda_codec_generic snd_hda_intel snd_sof_pci_intel_mtl sunrpc snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_hda_ext_core snd_hda_codec snd_hda_core snd_intel_dspcfg snd_intel_sdw_acpi snd_soc_acpi_intel_match
May 07 10:34:38 fedora kernel:  snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils x86_pkg_temp_thermal snd_soc_acpi intel_powerclamp snd_hwdep coretemp crc8 soundwire_bus uvcvideo kvm_intel snd_soc_sdca uvc vfat iwlmld snd_soc_core videobuf2_vmalloc fat kvm snd_compress btusb videobuf2_memops btmtk mac80211 ac97_bus processor_thermal_device_pci videobuf2_v4l2 irqbypass btrtl libarc4 snd_pcm_dmaengine processor_thermal_device videobuf2_common snd_seq btbcm processor_thermal_wt_hint rapl videodev btintel mc snd_seq_device iTCO_wdt intel_cstate platform_temperature_control spi_nor processor_thermal_soc_slider snd_ctl_led iwlwifi bluetooth snd_pcm intel_uncore think_lmi processor_thermal_rfim mei_gsc_proxy intel_rapl_msr intel_pmc_bxt mtd intel_pmc_core iTCO_vendor_support thinkpad_acpi mei_wdt processor_thermal_rapl pmt_telemetry pcspkr idma64 intel_rapl_common firmware_attributes_class snd_timer platform_profile processor_thermal_wt_req pmt_discovery wmi_bmof mei_me snd cfg80211 processor_thermal_power_floor
May 07 10:34:38 fedora kernel:  pmt_class i2c_i801 int3400_thermal soc_button_array spi_intel_pci int3403_thermal joydev processor_thermal_mbox intel_hid mei rfkill soundcore intel_pmc_ssram_telemetry acpi_pad acpi_tad i2c_smbus acpi_thermal_rel spi_intel igen6_edac sparse_keymap int340x_thermal_zone nfnetlink zram lz4hc_compress lz4_compress xe drm_ttm_helper drm_suballoc_helper gpu_sched drm_gpuvm drm_exec drm_gpusvm_helper i915 ucsi_acpi typec_ucsi typec i2c_algo_bit nvme drm_buddy nvme_core hid_multitouch ttm nvme_keyring drm_display_helper nvme_auth i2c_hid_acpi thunderbolt video intel_vpu cec hkdf intel_vsec i2c_hid ghash_clmulni_intel wmi pinctrl_meteorlake serio_raw fuse i2c_dev
May 07 10:34:38 fedora kernel: CPU: 10 UID: 0 PID: 1048 Comm: irq/196-iwlwifi Tainted: G             L      6.19.14-300.fc44.x86_64 #1 PREEMPT(lazy) 
May 07 10:34:38 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:34:38 fedora kernel: Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W (1.15 ) 02/25/2026
May 07 10:34:38 fedora kernel: RIP: 0010:native_queued_spin_lock_slowpath+0x267/0x300
May 07 10:34:38 fedora kernel: Code: 48 03 04 f5 e0 f0 3b 8e 48 89 10 8b 72 08 85 f6 75 09 f3 90 8b 42 08 85 c0 74 f7 48 8b 32 48 85 f6 74 07 0f 0d 0e eb 02 f3 90 <8b> 01 66 85 c0 75 f7 44 39 c0 74 3a c6 01 01 48 85 f6 74 0e c7 46
May 07 10:34:38 fedora kernel: RSP: 0018:ffffd3aa403b8868 EFLAGS: 00000202
May 07 10:34:38 fedora kernel: RAX: 00000000001c0101 RBX: ffff8aebf6a10000 RCX: ffff8aebd037f500
May 07 10:34:38 fedora kernel: RDX: ffff8afae0133e00 RSI: 0000000000000000 RDI: 0000000000000000
May 07 10:34:38 fedora kernel: RBP: ffff8aebc19b5000 R08: 00000000002c0000 R09: ffff8afb505e6000
May 07 10:34:38 fedora kernel: R10: 00000000002c0000 R11: 0000000000000010 R12: ffff8aebd037f400
May 07 10:34:38 fedora kernel: R13: 000000000000000a R14: 0000000000000000 R15: 0000000000000000
May 07 10:34:38 fedora kernel: FS:  0000000000000000(0000) GS:ffff8afb505e6000(0000) knlGS:0000000000000000
May 07 10:34:38 fedora kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 07 10:34:38 fedora kernel: CR2: 0000565284a8e0b8 CR3: 0000000700e2e003 CR4: 0000000000f72ef0
May 07 10:34:38 fedora kernel: PKRU: 55555554
May 07 10:34:38 fedora kernel: Call Trace:
May 07 10:34:38 fedora kernel:  <IRQ>
May 07 10:34:38 fedora kernel:  _raw_spin_lock+0x29/0x30
May 07 10:34:38 fedora kernel:  __dev_queue_xmit+0x7c3/0x9f0
May 07 10:34:38 fedora kernel:  ? selinux_ip_postroute+0x23d/0x5e0
May 07 10:34:38 fedora kernel:  ? ip_skb_dst_mtu+0x12c/0x1b0
May 07 10:34:38 fedora kernel:  ip_finish_output2+0x241/0x5f0
May 07 10:34:38 fedora kernel:  ? __ip_finish_output+0x46/0x170
May 07 10:34:38 fedora kernel:  ip_output+0x63/0x110
May 07 10:34:38 fedora kernel:  ? __pfx_ip_finish_output+0x10/0x10
May 07 10:34:38 fedora kernel:  __ip_queue_xmit+0x16d/0x460
May 07 10:34:38 fedora kernel:  __tcp_transmit_skb+0x923/0x9e0
May 07 10:34:38 fedora kernel:  tcp_v4_do_rcv+0x1b5/0x380
May 07 10:34:38 fedora kernel:  tcp_v4_rcv+0xb06/0x10b0
May 07 10:34:38 fedora kernel:  ? raw_v4_input+0xaa/0x2a0
May 07 10:34:38 fedora kernel:  ip_protocol_deliver_rcu+0x3e/0x1e0
May 07 10:34:38 fedora kernel:  ip_local_deliver_finish+0x85/0x100
May 07 10:34:38 fedora kernel:  ip_list_rcv_finish+0x2c1/0x2f0
May 07 10:34:38 fedora kernel:  ip_list_rcv+0x133/0x1a0
May 07 10:34:38 fedora kernel:  __netif_receive_skb_list_core+0x2d0/0x330
May 07 10:34:38 fedora kernel:  netif_receive_skb_list_internal+0x1cf/0x300
May 07 10:34:38 fedora kernel:  napi_complete_done+0x8c/0x230
May 07 10:34:38 fedora kernel:  iwl_pcie_napi_poll_msix+0xc4/0xf0 [iwlwifi]
May 07 10:34:38 fedora kernel:  __napi_poll+0xba/0x1f0
May 07 10:34:38 fedora kernel:  net_rx_action+0x34c/0x440
May 07 10:34:38 fedora kernel:  handle_softirqs+0xf1/0x340
May 07 10:34:38 fedora kernel:  ? __pfx_irq_thread+0x10/0x10
May 07 10:34:38 fedora kernel:  do_softirq.part.0+0x3b/0x60
May 07 10:34:38 fedora kernel:  </IRQ>
May 07 10:34:38 fedora kernel:  <TASK>
May 07 10:34:38 fedora kernel:  __local_bh_enable_ip+0x62/0x70
May 07 10:34:38 fedora kernel:  iwl_pcie_irq_rx_msix_handler+0xdc/0x150 [iwlwifi]
May 07 10:34:38 fedora kernel:  ? __pfx_irq_thread_fn+0x10/0x10
May 07 10:34:38 fedora kernel:  irq_thread_fn+0x25/0x60
May 07 10:34:38 fedora kernel:  irq_thread+0xc7/0x1d0
May 07 10:34:38 fedora kernel:  ? __pfx_irq_thread_dtor+0x10/0x10
May 07 10:34:38 fedora kernel:  kthread+0xfa/0x240
May 07 10:34:38 fedora kernel:  ? finish_task_switch.isra.0+0x82/0x2a0
May 07 10:34:38 fedora kernel:  ? __pfx_kthread+0x10/0x10
May 07 10:34:38 fedora kernel:  ? __pfx_kthread+0x10/0x10
May 07 10:34:38 fedora kernel:  ret_from_fork+0x130/0x1a0
May 07 10:34:38 fedora kernel:  ? __pfx_kthread+0x10/0x10
May 07 10:34:38 fedora kernel:  ret_from_fork_asm+0x1a/0x30
May 07 10:34:38 fedora kernel:  </TASK>
May 07 10:34:38 fedora kernel: watchdog: BUG: soft lockup - CPU#1 stuck for 22s! [Chrome_ChildIOT:48803]
May 07 10:34:38 fedora kernel: CPU#1 Utilization every 4000ms during lockup:
May 07 10:34:38 fedora kernel:         #1: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #2: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #3: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #4: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #5: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel: Modules linked in: uhid xt_connmark xt_conntrack xt_MASQUERADE xt_mark nft_compat overlay rfcomm snd_seq_dummy snd_hrtimer binfmt_misc tun uinput nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common qrtr snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib bnep snd_soc_dmic snd_hda_codec_generic snd_hda_intel snd_sof_pci_intel_mtl sunrpc snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_hda_ext_core snd_hda_codec snd_hda_core snd_intel_dspcfg snd_intel_sdw_acpi snd_soc_acpi_intel_match
May 07 10:34:38 fedora kernel:  snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils x86_pkg_temp_thermal snd_soc_acpi intel_powerclamp snd_hwdep coretemp crc8 soundwire_bus uvcvideo kvm_intel snd_soc_sdca uvc vfat iwlmld snd_soc_core videobuf2_vmalloc fat kvm snd_compress btusb videobuf2_memops btmtk mac80211 ac97_bus processor_thermal_device_pci videobuf2_v4l2 irqbypass btrtl libarc4 snd_pcm_dmaengine processor_thermal_device videobuf2_common snd_seq btbcm processor_thermal_wt_hint rapl videodev btintel mc snd_seq_device iTCO_wdt intel_cstate platform_temperature_control spi_nor processor_thermal_soc_slider snd_ctl_led iwlwifi bluetooth snd_pcm intel_uncore think_lmi processor_thermal_rfim mei_gsc_proxy intel_rapl_msr intel_pmc_bxt mtd intel_pmc_core iTCO_vendor_support thinkpad_acpi mei_wdt processor_thermal_rapl pmt_telemetry pcspkr idma64 intel_rapl_common firmware_attributes_class snd_timer platform_profile processor_thermal_wt_req pmt_discovery wmi_bmof mei_me snd cfg80211 processor_thermal_power_floor
May 07 10:34:38 fedora kernel:  pmt_class i2c_i801 int3400_thermal soc_button_array spi_intel_pci int3403_thermal joydev processor_thermal_mbox intel_hid mei rfkill soundcore intel_pmc_ssram_telemetry acpi_pad acpi_tad i2c_smbus acpi_thermal_rel spi_intel igen6_edac sparse_keymap int340x_thermal_zone nfnetlink zram lz4hc_compress lz4_compress xe drm_ttm_helper drm_suballoc_helper gpu_sched drm_gpuvm drm_exec drm_gpusvm_helper i915 ucsi_acpi typec_ucsi typec i2c_algo_bit nvme drm_buddy nvme_core hid_multitouch ttm nvme_keyring drm_display_helper nvme_auth i2c_hid_acpi thunderbolt video intel_vpu cec hkdf intel_vsec i2c_hid ghash_clmulni_intel wmi pinctrl_meteorlake serio_raw fuse i2c_dev
May 07 10:34:38 fedora kernel: CPU: 1 UID: 1000 PID: 48803 Comm: Chrome_ChildIOT Tainted: G             L      6.19.14-300.fc44.x86_64 #1 PREEMPT(lazy) 
May 07 10:34:38 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:34:38 fedora kernel: Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W (1.15 ) 02/25/2026
May 07 10:34:38 fedora kernel: RIP: 0010:native_queued_spin_lock_slowpath+0x254/0x300
May 07 10:34:38 fedora kernel: Code: 48 05 00 de b4 8f 48 81 fe 00 20 00 00 0f 83 81 00 00 00 48 03 04 f5 e0 f0 3b 8e 48 89 10 8b 72 08 85 f6 75 09 f3 90 8b 42 08 <85> c0 74 f7 48 8b 32 48 85 f6 74 07 0f 0d 0e eb 02 f3 90 8b 01 66
May 07 10:34:38 fedora kernel: RSP: 0018:ffffd3aa67d23578 EFLAGS: 00000246
May 07 10:34:38 fedora kernel: RAX: 0000000000000000 RBX: ffff8aebf6a10000 RCX: ffff8aebd037f500
May 07 10:34:38 fedora kernel: RDX: ffff8afadfcb3e00 RSI: 0000000000000000 RDI: 000000000000000a
May 07 10:34:38 fedora kernel: RBP: ffff8aeda7f2c0e8 R08: 0000000000080000 R09: ffff8afb50166000
May 07 10:34:38 fedora kernel: R10: 0000000000080000 R11: 0000000000000010 R12: ffff8aebd037f400
May 07 10:34:38 fedora kernel: R13: 0000000000000001 R14: 0000000000000000 R15: 0000000000000000
May 07 10:34:38 fedora kernel: FS:  00007fa358bfc6c0(0000) GS:ffff8afb50166000(0000) knlGS:0000000000000000
May 07 10:34:38 fedora kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 07 10:34:38 fedora kernel: CR2: 000011140024d000 CR3: 00000005e8fb0004 CR4: 0000000000f72ef0
May 07 10:34:38 fedora kernel: PKRU: 55555554
May 07 10:34:38 fedora kernel: Call Trace:
May 07 10:34:38 fedora kernel:  <TASK>
May 07 10:34:38 fedora kernel:  _raw_spin_lock+0x29/0x30
May 07 10:34:38 fedora kernel:  __dev_queue_xmit+0x7c3/0x9f0
May 07 10:34:38 fedora kernel:  ? selinux_ip_postroute+0x23d/0x5e0
May 07 10:34:38 fedora kernel:  ? ip_skb_dst_mtu+0x12c/0x1b0
May 07 10:34:38 fedora kernel:  ip_finish_output2+0x241/0x5f0
May 07 10:34:38 fedora kernel:  ? __ip_finish_output+0x46/0x170
May 07 10:34:38 fedora kernel:  ip_output+0x63/0x110
May 07 10:34:38 fedora kernel:  ? __pfx_ip_finish_output+0x10/0x10
May 07 10:34:38 fedora kernel:  __ip_queue_xmit+0x16d/0x460
May 07 10:34:38 fedora kernel:  __tcp_transmit_skb+0x923/0x9e0
May 07 10:34:38 fedora kernel:  tcp_write_xmit+0x538/0xb70
May 07 10:34:38 fedora kernel:  ? __check_object_size+0x6f/0xd0
May 07 10:34:38 fedora kernel:  __tcp_push_pending_frames+0x37/0x110
May 07 10:34:38 fedora kernel:  tcp_sendmsg_locked+0x5c9/0x1270
May 07 10:34:38 fedora kernel:  tcp_sendmsg+0x2f/0x50
May 07 10:34:38 fedora kernel:  __sys_sendto+0x229/0x240
May 07 10:34:38 fedora kernel:  __x64_sys_sendto+0x24/0x30
May 07 10:34:38 fedora kernel:  do_syscall_64+0x7e/0x6e0
May 07 10:34:38 fedora kernel:  ? __sys_recvmsg+0xeb/0x100
May 07 10:34:38 fedora kernel:  ? get_random_bytes_user+0x257/0x290
May 07 10:34:38 fedora kernel:  ? post_alloc_hook+0xb7/0x140
May 07 10:34:38 fedora kernel:  ? get_page_from_freelist+0x4d3/0x7c0
May 07 10:34:38 fedora kernel:  ? page_counter_uncharge+0x4a/0x80
May 07 10:34:38 fedora kernel:  ? memcg_uncharge+0x1b/0x40
May 07 10:34:38 fedora kernel:  ? drain_stock+0xa1/0x120
May 07 10:34:38 fedora kernel:  ? refill_stock+0x1eb/0x390
May 07 10:34:38 fedora kernel:  ? sysvec_apic_timer_interrupt+0xe/0x90
May 07 10:34:38 fedora kernel:  ? asm_sysvec_apic_timer_interrupt+0x1a/0x20
May 07 10:34:38 fedora kernel:  ? mod_memcg_lruvec_state+0xe7/0x2d0
May 07 10:34:38 fedora kernel:  ? lruvec_stat_mod_folio+0x85/0xd0
May 07 10:34:38 fedora kernel:  ? __folio_mod_stat+0x2d/0x90
May 07 10:34:38 fedora kernel:  ? do_anonymous_page+0x374/0x5d0
May 07 10:34:38 fedora kernel:  ? __handle_mm_fault+0x47c/0x6f0
May 07 10:34:38 fedora kernel:  ? count_memcg_events+0xd6/0x210
May 07 10:34:38 fedora kernel:  ? handle_mm_fault+0x248/0x330
May 07 10:34:38 fedora kernel:  ? do_user_addr_fault+0x2cd/0x830
May 07 10:34:38 fedora kernel:  ? irqentry_exit+0x7b/0x560
May 07 10:34:38 fedora kernel:  ? exc_page_fault+0x8f/0x1d0
May 07 10:34:38 fedora kernel:  entry_SYSCALL_64_after_hwframe+0x76/0x7e
May 07 10:34:38 fedora kernel: RIP: 0033:0x7fa35cdccbe2
May 07 10:34:38 fedora kernel: Code: 08 0f 85 c1 40 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> 66 2e 0f 1f 84 00 00 00 00 00 66 2e 0f 1f 84 00 00 00 00 00 66
May 07 10:34:38 fedora kernel: RSP: 002b:00007fa358bf9dd8 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
May 07 10:34:38 fedora kernel: RAX: ffffffffffffffda RBX: 00001114001bdec0 RCX: 00007fa35cdccbe2
May 07 10:34:38 fedora kernel: RDX: 0000000000000032 RSI: 000011140024d000 RDI: 0000000000000024
May 07 10:34:38 fedora kernel: RBP: 00007fa358bf9e00 R08: 0000000000000000 R09: 0000000000000000
May 07 10:34:38 fedora kernel: R10: 0000000000004000 R11: 0000000000000246 R12: 0000111400805200
May 07 10:34:38 fedora kernel: R13: 00001114001bcc80 R14: 0000000000000032 R15: 0000000000000032
May 07 10:34:38 fedora kernel:  </TASK>
May 07 10:34:38 fedora kernel: watchdog: BUG: soft lockup - CPU#9 stuck for 22s! [tailscaled:1509]
May 07 10:34:38 fedora kernel: CPU#9 Utilization every 4000ms during lockup:
May 07 10:34:38 fedora kernel:         #1: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #2: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #3: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #4: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #5: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel: Modules linked in: uhid xt_connmark xt_conntrack xt_MASQUERADE xt_mark nft_compat overlay rfcomm snd_seq_dummy snd_hrtimer binfmt_misc tun uinput nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common qrtr snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib bnep snd_soc_dmic snd_hda_codec_generic snd_hda_intel snd_sof_pci_intel_mtl sunrpc snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_hda_ext_core snd_hda_codec snd_hda_core snd_intel_dspcfg snd_intel_sdw_acpi snd_soc_acpi_intel_match
May 07 10:34:38 fedora kernel:  snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils x86_pkg_temp_thermal snd_soc_acpi intel_powerclamp snd_hwdep coretemp crc8 soundwire_bus uvcvideo kvm_intel snd_soc_sdca uvc vfat iwlmld snd_soc_core videobuf2_vmalloc fat kvm snd_compress btusb videobuf2_memops btmtk mac80211 ac97_bus processor_thermal_device_pci videobuf2_v4l2 irqbypass btrtl libarc4 snd_pcm_dmaengine processor_thermal_device videobuf2_common snd_seq btbcm processor_thermal_wt_hint rapl videodev btintel mc snd_seq_device iTCO_wdt intel_cstate platform_temperature_control spi_nor processor_thermal_soc_slider snd_ctl_led iwlwifi bluetooth snd_pcm intel_uncore think_lmi processor_thermal_rfim mei_gsc_proxy intel_rapl_msr intel_pmc_bxt mtd intel_pmc_core iTCO_vendor_support thinkpad_acpi mei_wdt processor_thermal_rapl pmt_telemetry pcspkr idma64 intel_rapl_common firmware_attributes_class snd_timer platform_profile processor_thermal_wt_req pmt_discovery wmi_bmof mei_me snd cfg80211 processor_thermal_power_floor
May 07 10:34:38 fedora kernel:  pmt_class i2c_i801 int3400_thermal soc_button_array spi_intel_pci int3403_thermal joydev processor_thermal_mbox intel_hid mei rfkill soundcore intel_pmc_ssram_telemetry acpi_pad acpi_tad i2c_smbus acpi_thermal_rel spi_intel igen6_edac sparse_keymap int340x_thermal_zone nfnetlink zram lz4hc_compress lz4_compress xe drm_ttm_helper drm_suballoc_helper gpu_sched drm_gpuvm drm_exec drm_gpusvm_helper i915 ucsi_acpi typec_ucsi typec i2c_algo_bit nvme drm_buddy nvme_core hid_multitouch ttm nvme_keyring drm_display_helper nvme_auth i2c_hid_acpi thunderbolt video intel_vpu cec hkdf intel_vsec i2c_hid ghash_clmulni_intel wmi pinctrl_meteorlake serio_raw fuse i2c_dev
May 07 10:34:38 fedora kernel: CPU: 9 UID: 0 PID: 1509 Comm: tailscaled Tainted: G             L      6.19.14-300.fc44.x86_64 #1 PREEMPT(lazy) 
May 07 10:34:38 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:34:38 fedora kernel: Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W (1.15 ) 02/25/2026
May 07 10:34:38 fedora kernel: RIP: 0010:native_queued_spin_lock_slowpath+0x251/0x300
May 07 10:34:38 fedora kernel: Code: 48 63 f6 48 05 00 de b4 8f 48 81 fe 00 20 00 00 0f 83 81 00 00 00 48 03 04 f5 e0 f0 3b 8e 48 89 10 8b 72 08 85 f6 75 09 f3 90 <8b> 42 08 85 c0 74 f7 48 8b 32 48 85 f6 74 07 0f 0d 0e eb 02 f3 90
May 07 10:34:38 fedora kernel: RSP: 0018:ffffd3aa4d2cb598 EFLAGS: 00000246
May 07 10:34:38 fedora kernel: RAX: 0000000000000000 RBX: ffff8aebf6a10000 RCX: ffff8aebd037f500
May 07 10:34:38 fedora kernel: RDX: ffff8afae00b3e00 RSI: 0000000000000000 RDI: 0000000000000003
May 07 10:34:38 fedora kernel: RBP: ffff8aecbf5ab2e8 R08: 0000000000280000 R09: ffff8afb50566000
May 07 10:34:38 fedora kernel: R10: 0000000000280000 R11: 0000000000000010 R12: ffff8aebd037f400
May 07 10:34:38 fedora kernel: R13: 0000000000000009 R14: 0000000000000000 R15: 0000000000000000
May 07 10:34:38 fedora kernel: FS:  0000112a5089d090(0000) GS:ffff8afb50566000(0000) knlGS:0000000000000000
May 07 10:34:38 fedora kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 07 10:34:38 fedora kernel: CR2: 00007f360ffcb708 CR3: 00000001435a6003 CR4: 0000000000f72ef0
May 07 10:34:38 fedora kernel: PKRU: 55555554
May 07 10:34:38 fedora kernel: Call Trace:
May 07 10:34:38 fedora kernel:  <TASK>
May 07 10:34:38 fedora kernel:  _raw_spin_lock+0x29/0x30
May 07 10:34:38 fedora kernel:  __dev_queue_xmit+0x7c3/0x9f0
May 07 10:34:38 fedora kernel:  ? selinux_ip_postroute+0x23d/0x5e0
May 07 10:34:38 fedora kernel:  ? ip_skb_dst_mtu+0x12c/0x1b0
May 07 10:34:38 fedora kernel:  ip_finish_output2+0x241/0x5f0
May 07 10:34:38 fedora kernel:  ? __ip_finish_output+0x46/0x170
May 07 10:34:38 fedora kernel:  ip_output+0x63/0x110
May 07 10:34:38 fedora kernel:  ? __pfx_ip_finish_output+0x10/0x10
May 07 10:34:38 fedora kernel:  __ip_queue_xmit+0x16d/0x460
May 07 10:34:38 fedora kernel:  __tcp_transmit_skb+0x923/0x9e0
May 07 10:34:38 fedora kernel:  tcp_write_xmit+0x538/0xb70
May 07 10:34:38 fedora kernel:  ? __check_object_size+0x6f/0xd0
May 07 10:34:38 fedora kernel:  __tcp_push_pending_frames+0x37/0x110
May 07 10:34:38 fedora kernel:  tcp_sendmsg_locked+0x5c9/0x1270
May 07 10:34:38 fedora kernel:  tcp_sendmsg+0x2f/0x50
May 07 10:34:38 fedora kernel:  sock_write_iter+0x187/0x1a0
May 07 10:34:38 fedora kernel:  vfs_write+0x454/0x570
May 07 10:34:38 fedora kernel:  ? futex_wake+0xcc/0x240
May 07 10:34:38 fedora kernel:  ksys_write+0xcf/0x110
May 07 10:34:38 fedora kernel:  do_syscall_64+0x7e/0x6e0
May 07 10:34:38 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:34:38 fedora kernel:  ? __x64_sys_epoll_pwait+0x90/0x140
May 07 10:34:38 fedora kernel:  ? select_task_rq_fair+0x148/0x4d0
May 07 10:34:38 fedora kernel:  ? __smp_call_single_queue+0xdb/0x190
May 07 10:34:38 fedora kernel:  ? ttwu_queue_wakelist+0x145/0x230
May 07 10:34:38 fedora kernel:  ? select_task_rq+0x82/0xe0
May 07 10:34:38 fedora kernel:  ? try_to_wake_up+0x2dc/0x920
May 07 10:34:38 fedora kernel:  ? plist_del+0x59/0xc0
May 07 10:34:38 fedora kernel:  ? wake_up_q+0x4c/0xa0
May 07 10:34:38 fedora kernel:  ? futex_wake+0xcc/0x240
May 07 10:34:38 fedora kernel:  ? do_futex+0x11f/0x190
May 07 10:34:38 fedora kernel:  ? __x64_sys_futex+0x12a/0x220
May 07 10:34:38 fedora kernel:  ? wake_up_q+0x4c/0xa0
May 07 10:34:38 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:34:38 fedora kernel:  ? do_futex+0x11f/0x190
May 07 10:34:38 fedora kernel:  ? __x64_sys_futex+0x12a/0x220
May 07 10:34:38 fedora kernel:  ? do_compat_epoll_pwait.part.0+0xe/0x70
May 07 10:34:38 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:34:38 fedora kernel:  ? __x64_sys_epoll_pwait+0x90/0x140
May 07 10:34:38 fedora kernel:  ? arch_do_signal_or_restart+0xe8/0x140
May 07 10:34:38 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:34:38 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:34:38 fedora kernel:  ? irqentry_exit+0x7b/0x560
May 07 10:34:38 fedora kernel:  ? __irq_exit_rcu+0x4c/0xf0
May 07 10:34:38 fedora kernel:  entry_SYSCALL_64_after_hwframe+0x76/0x7e
May 07 10:34:38 fedora kernel: RIP: 0033:0x40abae
May 07 10:34:38 fedora kernel: Code: ff cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc 49 89 f2 48 89 fa 48 89 ce 48 89 df 0f 05 <48> 3d 01 f0 ff ff 76 15 48 f7 d8 48 89 c1 48 c7 c0 ff ff ff ff 48
May 07 10:34:38 fedora kernel: RSP: 002b:0000112a54014750 EFLAGS: 00000212 ORIG_RAX: 0000000000000001
May 07 10:34:38 fedora kernel: RAX: ffffffffffffffda RBX: 0000000000000036 RCX: 000000000040abae
May 07 10:34:38 fedora kernel: RDX: 00000000000000d3 RSI: 0000112a51900e00 RDI: 0000000000000036
May 07 10:34:38 fedora kernel: RBP: 0000112a54014790 R08: 0000000000000000 R09: 0000000000000000
May 07 10:34:38 fedora kernel: R10: 0000000000000000 R11: 0000000000000212 R12: 0000112a540148c0
May 07 10:34:38 fedora kernel: R13: 000000000000000a R14: 0000112a508c0960 R15: 0000112a51900e05
May 07 10:34:38 fedora kernel:  </TASK>
May 07 10:34:38 fedora kernel: watchdog: BUG: soft lockup - CPU#11 stuck for 26s! [HTTP Client:5806]
May 07 10:34:38 fedora kernel: CPU#11 Utilization every 4000ms during lockup:
May 07 10:34:38 fedora kernel:         #1:  99% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #2:  99% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #3: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #4:  99% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #5: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel: Modules linked in: uhid xt_connmark xt_conntrack xt_MASQUERADE xt_mark nft_compat overlay rfcomm snd_seq_dummy snd_hrtimer binfmt_misc tun uinput nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common qrtr snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib bnep snd_soc_dmic snd_hda_codec_generic snd_hda_intel snd_sof_pci_intel_mtl sunrpc snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_hda_ext_core snd_hda_codec snd_hda_core snd_intel_dspcfg snd_intel_sdw_acpi snd_soc_acpi_intel_match
May 07 10:34:38 fedora kernel:  snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils x86_pkg_temp_thermal snd_soc_acpi intel_powerclamp snd_hwdep coretemp crc8 soundwire_bus uvcvideo kvm_intel snd_soc_sdca uvc vfat iwlmld snd_soc_core videobuf2_vmalloc fat kvm snd_compress btusb videobuf2_memops btmtk mac80211 ac97_bus processor_thermal_device_pci videobuf2_v4l2 irqbypass btrtl libarc4 snd_pcm_dmaengine processor_thermal_device videobuf2_common snd_seq btbcm processor_thermal_wt_hint rapl videodev btintel mc snd_seq_device iTCO_wdt intel_cstate platform_temperature_control spi_nor processor_thermal_soc_slider snd_ctl_led iwlwifi bluetooth snd_pcm intel_uncore think_lmi processor_thermal_rfim mei_gsc_proxy intel_rapl_msr intel_pmc_bxt mtd intel_pmc_core iTCO_vendor_support thinkpad_acpi mei_wdt processor_thermal_rapl pmt_telemetry pcspkr idma64 intel_rapl_common firmware_attributes_class snd_timer platform_profile processor_thermal_wt_req pmt_discovery wmi_bmof mei_me snd cfg80211 processor_thermal_power_floor
May 07 10:34:38 fedora kernel:  pmt_class i2c_i801 int3400_thermal soc_button_array spi_intel_pci int3403_thermal joydev processor_thermal_mbox intel_hid mei rfkill soundcore intel_pmc_ssram_telemetry acpi_pad acpi_tad i2c_smbus acpi_thermal_rel spi_intel igen6_edac sparse_keymap int340x_thermal_zone nfnetlink zram lz4hc_compress lz4_compress xe drm_ttm_helper drm_suballoc_helper gpu_sched drm_gpuvm drm_exec drm_gpusvm_helper i915 ucsi_acpi typec_ucsi typec i2c_algo_bit nvme drm_buddy nvme_core hid_multitouch ttm nvme_keyring drm_display_helper nvme_auth i2c_hid_acpi thunderbolt video intel_vpu cec hkdf intel_vsec i2c_hid ghash_clmulni_intel wmi pinctrl_meteorlake serio_raw fuse i2c_dev
May 07 10:34:38 fedora kernel: CPU: 11 UID: 1000 PID: 5806 Comm: HTTP Client Tainted: G             L      6.19.14-300.fc44.x86_64 #1 PREEMPT(lazy) 
May 07 10:34:38 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:34:38 fedora kernel: Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W (1.15 ) 02/25/2026
May 07 10:34:38 fedora kernel: RIP: 0010:native_queued_spin_lock_slowpath+0x6d/0x300
May 07 10:34:38 fedora kernel: Code: c2 8b 01 0f b6 d2 c1 e2 08 30 e4 09 d0 3d ff 00 00 00 77 51 85 c0 75 0f bf 01 00 00 00 66 89 39 c3 cc cc cc cc f3 90 80 39 00 <75> f9 bf 01 00 00 00 66 89 39 c3 cc cc cc cc 8b 37 b8 00 02 00 00
May 07 10:34:38 fedora kernel: RSP: 0018:ffffd3aa4fd63c50 EFLAGS: 00000202
May 07 10:34:38 fedora kernel: RAX: 0000000000000001 RBX: ffff8aef8a4d9c80 RCX: ffff8aef8a4d9dc8
May 07 10:34:38 fedora kernel: RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff8aef8a4d9dc8
May 07 10:34:38 fedora kernel: RBP: ffff8aef8a4d9dc8 R08: ffffd3aa4fd63cfc R09: 0000000000000000
May 07 10:34:38 fedora kernel: R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000040
May 07 10:34:38 fedora kernel: R13: 0000000000080000 R14: 0000000000000000 R15: 0000000000000000
May 07 10:34:38 fedora kernel: FS:  00007f3605fff6c0(0000) GS:ffff8afb50666000(0000) knlGS:0000000000000000
May 07 10:34:38 fedora kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 07 10:34:38 fedora kernel: CR2: 00007f21fb9bd000 CR3: 00000004b7d9b006 CR4: 0000000000f72ef0
May 07 10:34:38 fedora kernel: PKRU: 55555554
May 07 10:34:38 fedora kernel: Call Trace:
May 07 10:34:38 fedora kernel:  <TASK>
May 07 10:34:38 fedora kernel:  _raw_spin_lock_bh+0x2d/0x40
May 07 10:34:38 fedora kernel:  lock_sock_nested+0x22/0x50
May 07 10:34:38 fedora kernel:  tcp_recvmsg+0x8d/0x1f0
May 07 10:34:38 fedora kernel:  inet_recvmsg+0x52/0x130
May 07 10:34:38 fedora kernel:  ? security_socket_recvmsg+0x70/0x150
May 07 10:34:38 fedora kernel:  sock_recvmsg+0x97/0xa0
May 07 10:34:38 fedora kernel:  ? fdget+0xb2/0x110
May 07 10:34:38 fedora kernel:  __sys_recvfrom+0x117/0x1a0
May 07 10:34:38 fedora kernel:  __x64_sys_recvfrom+0x24/0x30
May 07 10:34:38 fedora kernel:  do_syscall_64+0x7e/0x6e0
May 07 10:34:38 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:34:38 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:34:38 fedora kernel:  ? __irq_exit_rcu+0x4c/0xf0
May 07 10:34:38 fedora kernel:  entry_SYSCALL_64_after_hwframe+0x76/0x7e
May 07 10:34:38 fedora kernel: RIP: 0033:0x7f36228efe32
May 07 10:34:38 fedora kernel: Code: 08 0f 85 91 41 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 55 bf 01 00
May 07 10:34:38 fedora kernel: RSP: 002b:00007f3605fae498 EFLAGS: 00000246 ORIG_RAX: 000000000000002d
May 07 10:34:38 fedora kernel: RAX: ffffffffffffffda RBX: 000003f041ce8c70 RCX: 00007f36228efe32
May 07 10:34:38 fedora kernel: RDX: 0000000000080000 RSI: 000003f041a90020 RDI: 0000000000000011
May 07 10:34:38 fedora kernel: RBP: 00007f3605fae4c0 R08: 0000000000000000 R09: 0000000000000000
May 07 10:34:38 fedora kernel: R10: 0000000000000040 R11: 0000000000000246 R12: 0000000000000011
May 07 10:34:38 fedora kernel: R13: 000003f042f3ec40 R14: 000003f041a90020 R15: 0000000000000001
May 07 10:34:38 fedora kernel:  </TASK>
May 07 10:34:38 fedora kernel: watchdog: BUG: soft lockup - CPU#8 stuck for 26s! [irq/197-iwlwifi:1049]
May 07 10:34:38 fedora kernel: CPU#8 Utilization every 4000ms during lockup:
May 07 10:34:38 fedora kernel:         #1:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #2:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #3:   0% system,        100% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #4:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #5:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel: Modules linked in: uhid xt_connmark xt_conntrack xt_MASQUERADE xt_mark nft_compat overlay rfcomm snd_seq_dummy snd_hrtimer binfmt_misc tun uinput nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common qrtr snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib bnep snd_soc_dmic snd_hda_codec_generic snd_hda_intel snd_sof_pci_intel_mtl sunrpc snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_hda_ext_core snd_hda_codec snd_hda_core snd_intel_dspcfg snd_intel_sdw_acpi snd_soc_acpi_intel_match
May 07 10:34:38 fedora kernel:  snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils x86_pkg_temp_thermal snd_soc_acpi intel_powerclamp snd_hwdep coretemp crc8 soundwire_bus uvcvideo kvm_intel snd_soc_sdca uvc vfat iwlmld snd_soc_core videobuf2_vmalloc fat kvm snd_compress btusb videobuf2_memops btmtk mac80211 ac97_bus processor_thermal_device_pci videobuf2_v4l2 irqbypass btrtl libarc4 snd_pcm_dmaengine processor_thermal_device videobuf2_common snd_seq btbcm processor_thermal_wt_hint rapl videodev btintel mc snd_seq_device iTCO_wdt intel_cstate platform_temperature_control spi_nor processor_thermal_soc_slider snd_ctl_led iwlwifi bluetooth snd_pcm intel_uncore think_lmi processor_thermal_rfim mei_gsc_proxy intel_rapl_msr intel_pmc_bxt mtd intel_pmc_core iTCO_vendor_support thinkpad_acpi mei_wdt processor_thermal_rapl pmt_telemetry pcspkr idma64 intel_rapl_common firmware_attributes_class snd_timer platform_profile processor_thermal_wt_req pmt_discovery wmi_bmof mei_me snd cfg80211 processor_thermal_power_floor
May 07 10:34:38 fedora kernel:  pmt_class i2c_i801 int3400_thermal soc_button_array spi_intel_pci int3403_thermal joydev processor_thermal_mbox intel_hid mei rfkill soundcore intel_pmc_ssram_telemetry acpi_pad acpi_tad i2c_smbus acpi_thermal_rel spi_intel igen6_edac sparse_keymap int340x_thermal_zone nfnetlink zram lz4hc_compress lz4_compress xe drm_ttm_helper drm_suballoc_helper gpu_sched drm_gpuvm drm_exec drm_gpusvm_helper i915 ucsi_acpi typec_ucsi typec i2c_algo_bit nvme drm_buddy nvme_core hid_multitouch ttm nvme_keyring drm_display_helper nvme_auth i2c_hid_acpi thunderbolt video intel_vpu cec hkdf intel_vsec i2c_hid ghash_clmulni_intel wmi pinctrl_meteorlake serio_raw fuse i2c_dev
May 07 10:34:38 fedora kernel: CPU: 8 UID: 0 PID: 1049 Comm: irq/197-iwlwifi Tainted: G             L      6.19.14-300.fc44.x86_64 #1 PREEMPT(lazy) 
May 07 10:34:38 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:34:38 fedora kernel: Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W (1.15 ) 02/25/2026
May 07 10:34:38 fedora kernel: RIP: 0010:native_queued_spin_lock_slowpath+0x251/0x300
May 07 10:34:38 fedora kernel: Code: 48 63 f6 48 05 00 de b4 8f 48 81 fe 00 20 00 00 0f 83 81 00 00 00 48 03 04 f5 e0 f0 3b 8e 48 89 10 8b 72 08 85 f6 75 09 f3 90 <8b> 42 08 85 c0 74 f7 48 8b 32 48 85 f6 74 07 0f 0d 0e eb 02 f3 90
May 07 10:34:38 fedora kernel: RSP: 0018:ffffd3aa40350868 EFLAGS: 00000246
May 07 10:34:38 fedora kernel: RAX: 0000000000000000 RBX: ffff8aebf6a10000 RCX: ffff8aebd037f500
May 07 10:34:38 fedora kernel: RDX: ffff8afae0033e00 RSI: 0000000000000000 RDI: 0000000000000008
May 07 10:34:38 fedora kernel: RBP: ffff8af1ad7ec100 R08: 0000000000240000 R09: ffff8afb504e6000
May 07 10:34:38 fedora kernel: R10: 0000000000240000 R11: 0000000000000010 R12: ffff8aebd037f400
May 07 10:34:38 fedora kernel: R13: 0000000000000008 R14: 0000000000000000 R15: 0000000000000000
May 07 10:34:38 fedora kernel: FS:  0000000000000000(0000) GS:ffff8afb504e6000(0000) knlGS:0000000000000000
May 07 10:34:38 fedora kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 07 10:34:38 fedora kernel: CR2: 000011c404b93dfc CR3: 0000000700e2e004 CR4: 0000000000f72ef0
May 07 10:34:38 fedora kernel: PKRU: 55555554
May 07 10:34:38 fedora kernel: Call Trace:
May 07 10:34:38 fedora kernel:  <IRQ>
May 07 10:34:38 fedora kernel:  _raw_spin_lock+0x29/0x30
May 07 10:34:38 fedora kernel:  __dev_queue_xmit+0x7c3/0x9f0
May 07 10:34:38 fedora kernel:  ? selinux_ip_postroute+0x23d/0x5e0
May 07 10:34:38 fedora kernel:  ? ip_skb_dst_mtu+0x12c/0x1b0
May 07 10:34:38 fedora kernel:  ip_finish_output2+0x241/0x5f0
May 07 10:34:38 fedora kernel:  ? __ip_finish_output+0x46/0x170
May 07 10:34:38 fedora kernel:  ip_output+0x63/0x110
May 07 10:34:38 fedora kernel:  ? __pfx_ip_finish_output+0x10/0x10
May 07 10:34:38 fedora kernel:  __ip_queue_xmit+0x16d/0x460
May 07 10:34:38 fedora kernel:  __tcp_transmit_skb+0x923/0x9e0
May 07 10:34:38 fedora kernel:  tcp_v4_do_rcv+0x1b5/0x380
May 07 10:34:38 fedora kernel:  tcp_v4_rcv+0xb06/0x10b0
May 07 10:34:38 fedora kernel:  ? raw_v4_input+0xaa/0x2a0
May 07 10:34:38 fedora kernel:  ip_protocol_deliver_rcu+0x3e/0x1e0
May 07 10:34:38 fedora kernel:  ip_local_deliver_finish+0x85/0x100
May 07 10:34:38 fedora kernel:  ip_list_rcv_finish+0x2c1/0x2f0
May 07 10:34:38 fedora kernel:  ip_list_rcv+0x133/0x1a0
May 07 10:34:38 fedora kernel:  __netif_receive_skb_list_core+0x2d0/0x330
May 07 10:34:38 fedora kernel:  netif_receive_skb_list_internal+0x1cf/0x300
May 07 10:34:38 fedora kernel:  napi_complete_done+0x8c/0x230
May 07 10:34:38 fedora kernel:  iwl_pcie_napi_poll_msix+0xc4/0xf0 [iwlwifi]
May 07 10:34:38 fedora kernel:  __napi_poll+0xba/0x1f0
May 07 10:34:38 fedora kernel:  net_rx_action+0x34c/0x440
May 07 10:34:38 fedora kernel:  handle_softirqs+0xf1/0x340
May 07 10:34:38 fedora kernel:  ? __pfx_irq_thread+0x10/0x10
May 07 10:34:38 fedora kernel:  do_softirq.part.0+0x3b/0x60
May 07 10:34:38 fedora kernel:  </IRQ>
May 07 10:34:38 fedora kernel:  <TASK>
May 07 10:34:38 fedora kernel:  __local_bh_enable_ip+0x62/0x70
May 07 10:34:38 fedora kernel:  iwl_pcie_irq_rx_msix_handler+0xdc/0x150 [iwlwifi]
May 07 10:34:38 fedora kernel:  ? __pfx_irq_thread_fn+0x10/0x10
May 07 10:34:38 fedora kernel:  irq_thread_fn+0x25/0x60
May 07 10:34:38 fedora kernel:  irq_thread+0xc7/0x1d0
May 07 10:34:38 fedora kernel:  ? __pfx_irq_thread_dtor+0x10/0x10
May 07 10:34:38 fedora kernel:  kthread+0xfa/0x240
May 07 10:34:38 fedora kernel:  ? finish_task_switch.isra.0+0x82/0x2a0
May 07 10:34:38 fedora kernel:  ? __pfx_kthread+0x10/0x10
May 07 10:34:38 fedora kernel:  ? __pfx_kthread+0x10/0x10
May 07 10:34:38 fedora kernel:  ret_from_fork+0x130/0x1a0
May 07 10:34:38 fedora kernel:  ? __pfx_kthread+0x10/0x10
May 07 10:34:38 fedora kernel:  ret_from_fork_asm+0x1a/0x30
May 07 10:34:38 fedora kernel:  </TASK>
May 07 10:34:38 fedora kernel: watchdog: BUG: soft lockup - CPU#4 stuck for 23s! [Chrome_ChildIOT:3786]
May 07 10:34:38 fedora kernel: CPU#4 Utilization every 4000ms during lockup:
May 07 10:34:38 fedora kernel:         #1: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #2: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #3: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #4: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #5: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel: Modules linked in: uhid xt_connmark xt_conntrack xt_MASQUERADE xt_mark nft_compat overlay rfcomm snd_seq_dummy snd_hrtimer binfmt_misc tun uinput nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common qrtr snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib bnep snd_soc_dmic snd_hda_codec_generic snd_hda_intel snd_sof_pci_intel_mtl sunrpc snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_hda_ext_core snd_hda_codec snd_hda_core snd_intel_dspcfg snd_intel_sdw_acpi snd_soc_acpi_intel_match
May 07 10:34:38 fedora kernel:  snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils x86_pkg_temp_thermal snd_soc_acpi intel_powerclamp snd_hwdep coretemp crc8 soundwire_bus uvcvideo kvm_intel snd_soc_sdca uvc vfat iwlmld snd_soc_core videobuf2_vmalloc fat kvm snd_compress btusb videobuf2_memops btmtk mac80211 ac97_bus processor_thermal_device_pci videobuf2_v4l2 irqbypass btrtl libarc4 snd_pcm_dmaengine processor_thermal_device videobuf2_common snd_seq btbcm processor_thermal_wt_hint rapl videodev btintel mc snd_seq_device iTCO_wdt intel_cstate platform_temperature_control spi_nor processor_thermal_soc_slider snd_ctl_led iwlwifi bluetooth snd_pcm intel_uncore think_lmi processor_thermal_rfim mei_gsc_proxy intel_rapl_msr intel_pmc_bxt mtd intel_pmc_core iTCO_vendor_support thinkpad_acpi mei_wdt processor_thermal_rapl pmt_telemetry pcspkr idma64 intel_rapl_common firmware_attributes_class snd_timer platform_profile processor_thermal_wt_req pmt_discovery wmi_bmof mei_me snd cfg80211 processor_thermal_power_floor
May 07 10:34:38 fedora kernel:  pmt_class i2c_i801 int3400_thermal soc_button_array spi_intel_pci int3403_thermal joydev processor_thermal_mbox intel_hid mei rfkill soundcore intel_pmc_ssram_telemetry acpi_pad acpi_tad i2c_smbus acpi_thermal_rel spi_intel igen6_edac sparse_keymap int340x_thermal_zone nfnetlink zram lz4hc_compress lz4_compress xe drm_ttm_helper drm_suballoc_helper gpu_sched drm_gpuvm drm_exec drm_gpusvm_helper i915 ucsi_acpi typec_ucsi typec i2c_algo_bit nvme drm_buddy nvme_core hid_multitouch ttm nvme_keyring drm_display_helper nvme_auth i2c_hid_acpi thunderbolt video intel_vpu cec hkdf intel_vsec i2c_hid ghash_clmulni_intel wmi pinctrl_meteorlake serio_raw fuse i2c_dev
May 07 10:34:38 fedora kernel: CPU: 4 UID: 1000 PID: 3786 Comm: Chrome_ChildIOT Tainted: G             L      6.19.14-300.fc44.x86_64 #1 PREEMPT(lazy) 
May 07 10:34:38 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:34:38 fedora kernel: Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W (1.15 ) 02/25/2026
May 07 10:34:38 fedora kernel: RIP: 0010:native_queued_spin_lock_slowpath+0x251/0x300
May 07 10:34:38 fedora kernel: Code: 48 63 f6 48 05 00 de b4 8f 48 81 fe 00 20 00 00 0f 83 81 00 00 00 48 03 04 f5 e0 f0 3b 8e 48 89 10 8b 72 08 85 f6 75 09 f3 90 <8b> 42 08 85 c0 74 f7 48 8b 32 48 85 f6 74 07 0f 0d 0e eb 02 f3 90
May 07 10:34:38 fedora kernel: RSP: 0018:ffffd3aa4e137798 EFLAGS: 00000246
May 07 10:34:38 fedora kernel: RAX: 0000000000000000 RBX: ffff8aebf6a10000 RCX: ffff8aebd037f500
May 07 10:34:38 fedora kernel: RDX: ffff8afadfe33e00 RSI: 0000000000000000 RDI: 0000000000000004
May 07 10:34:38 fedora kernel: RBP: ffff8aed97bd9ce8 R08: 0000000000140000 R09: ffff8afb502e6000
May 07 10:34:38 fedora kernel: R10: 0000000000140000 R11: 0000000000000010 R12: ffff8aebd037f400
May 07 10:34:38 fedora kernel: R13: 0000000000000004 R14: 0000000000000000 R15: 0000000000000000
May 07 10:34:38 fedora kernel: FS:  00007fe5793fc6c0(0000) GS:ffff8afb502e6000(0000) knlGS:0000000000000000
May 07 10:34:38 fedora kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 07 10:34:38 fedora kernel: CR2: 0000359c00208000 CR3: 0000000308105004 CR4: 0000000000f72ef0
May 07 10:34:38 fedora kernel: PKRU: 55555554
May 07 10:34:38 fedora kernel: Call Trace:
May 07 10:34:38 fedora kernel:  <TASK>
May 07 10:34:38 fedora kernel:  _raw_spin_lock+0x29/0x30
May 07 10:34:38 fedora kernel:  __dev_queue_xmit+0x7c3/0x9f0
May 07 10:34:38 fedora kernel:  ? selinux_ip_postroute+0x23d/0x5e0
May 07 10:34:38 fedora kernel:  ? ip_skb_dst_mtu+0x12c/0x1b0
May 07 10:34:38 fedora kernel:  ip_finish_output2+0x241/0x5f0
May 07 10:34:38 fedora kernel:  ? __ip_finish_output+0x46/0x170
May 07 10:34:38 fedora kernel:  ip_output+0x63/0x110
May 07 10:34:38 fedora kernel:  ? __pfx_ip_finish_output+0x10/0x10
May 07 10:34:38 fedora kernel:  __ip_queue_xmit+0x16d/0x460
May 07 10:34:38 fedora kernel:  __tcp_transmit_skb+0x923/0x9e0
May 07 10:34:38 fedora kernel:  tcp_write_xmit+0x538/0xb70
May 07 10:34:38 fedora kernel:  ? __check_object_size+0x6f/0xd0
May 07 10:34:38 fedora kernel:  __tcp_push_pending_frames+0x37/0x110
May 07 10:34:38 fedora kernel:  tcp_sendmsg_locked+0x5c9/0x1270
May 07 10:34:38 fedora kernel:  tcp_sendmsg+0x2f/0x50
May 07 10:34:38 fedora kernel:  __sys_sendto+0x229/0x240
May 07 10:34:38 fedora kernel:  __x64_sys_sendto+0x24/0x30
May 07 10:34:38 fedora kernel:  do_syscall_64+0x7e/0x6e0
May 07 10:34:38 fedora kernel:  ? do_anonymous_page+0x374/0x5d0
May 07 10:34:38 fedora kernel:  ? __handle_mm_fault+0x47c/0x6f0
May 07 10:34:38 fedora kernel:  ? count_memcg_events+0xd6/0x210
May 07 10:34:38 fedora kernel:  ? handle_mm_fault+0x248/0x330
May 07 10:34:38 fedora kernel:  ? do_user_addr_fault+0x2cd/0x830
May 07 10:34:38 fedora kernel:  ? irqentry_exit+0x7b/0x560
May 07 10:34:38 fedora kernel:  ? exc_page_fault+0x8f/0x1d0
May 07 10:34:38 fedora kernel:  entry_SYSCALL_64_after_hwframe+0x76/0x7e
May 07 10:34:38 fedora kernel: RIP: 0033:0x7fe58bfdce32
May 07 10:34:38 fedora kernel: Code: 08 0f 85 91 41 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 55 bf 01 00
May 07 10:34:38 fedora kernel: RSP: 002b:00007fe5793f9848 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
May 07 10:34:38 fedora kernel: RAX: ffffffffffffffda RBX: 0000359c0014fd40 RCX: 00007fe58bfdce32
May 07 10:34:38 fedora kernel: RDX: 000000000000001f RSI: 0000359c00208000 RDI: 0000000000000019
May 07 10:34:38 fedora kernel: RBP: 00007fe5793f9870 R08: 0000000000000000 R09: 0000000000000000
May 07 10:34:38 fedora kernel: R10: 0000000000004000 R11: 0000000000000246 R12: 0000359c00078580
May 07 10:34:38 fedora kernel: R13: 0000359c0014ec00 R14: 000000000000001f R15: 000000000000001f
May 07 10:34:38 fedora kernel:  </TASK>
May 07 10:34:38 fedora kernel: watchdog: BUG: soft lockup - CPU#13 stuck for 26s! [swapper/13:0]
May 07 10:34:38 fedora kernel: CPU#13 Utilization every 4000ms during lockup:
May 07 10:34:38 fedora kernel:         #1:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #2:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #3:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #4:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #5:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel: Modules linked in: uhid xt_connmark xt_conntrack xt_MASQUERADE xt_mark nft_compat overlay rfcomm snd_seq_dummy snd_hrtimer binfmt_misc tun uinput nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common qrtr snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib bnep snd_soc_dmic snd_hda_codec_generic snd_hda_intel snd_sof_pci_intel_mtl sunrpc snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_hda_ext_core snd_hda_codec snd_hda_core snd_intel_dspcfg snd_intel_sdw_acpi snd_soc_acpi_intel_match
May 07 10:34:38 fedora kernel:  snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils x86_pkg_temp_thermal snd_soc_acpi intel_powerclamp snd_hwdep coretemp crc8 soundwire_bus uvcvideo kvm_intel snd_soc_sdca uvc vfat iwlmld snd_soc_core videobuf2_vmalloc fat kvm snd_compress btusb videobuf2_memops btmtk mac80211 ac97_bus processor_thermal_device_pci videobuf2_v4l2 irqbypass btrtl libarc4 snd_pcm_dmaengine processor_thermal_device videobuf2_common snd_seq btbcm processor_thermal_wt_hint rapl videodev btintel mc snd_seq_device iTCO_wdt intel_cstate platform_temperature_control spi_nor processor_thermal_soc_slider snd_ctl_led iwlwifi bluetooth snd_pcm intel_uncore think_lmi processor_thermal_rfim mei_gsc_proxy intel_rapl_msr intel_pmc_bxt mtd intel_pmc_core iTCO_vendor_support thinkpad_acpi mei_wdt processor_thermal_rapl pmt_telemetry pcspkr idma64 intel_rapl_common firmware_attributes_class snd_timer platform_profile processor_thermal_wt_req pmt_discovery wmi_bmof mei_me snd cfg80211 processor_thermal_power_floor
May 07 10:34:38 fedora kernel:  pmt_class i2c_i801 int3400_thermal soc_button_array spi_intel_pci int3403_thermal joydev processor_thermal_mbox intel_hid mei rfkill soundcore intel_pmc_ssram_telemetry acpi_pad acpi_tad i2c_smbus acpi_thermal_rel spi_intel igen6_edac sparse_keymap int340x_thermal_zone nfnetlink zram lz4hc_compress lz4_compress xe drm_ttm_helper drm_suballoc_helper gpu_sched drm_gpuvm drm_exec drm_gpusvm_helper i915 ucsi_acpi typec_ucsi typec i2c_algo_bit nvme drm_buddy nvme_core hid_multitouch ttm nvme_keyring drm_display_helper nvme_auth i2c_hid_acpi thunderbolt video intel_vpu cec hkdf intel_vsec i2c_hid ghash_clmulni_intel wmi pinctrl_meteorlake serio_raw fuse i2c_dev
May 07 10:34:38 fedora kernel: CPU: 13 UID: 0 PID: 0 Comm: swapper/13 Tainted: G             L      6.19.14-300.fc44.x86_64 #1 PREEMPT(lazy) 
May 07 10:34:38 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:34:38 fedora kernel: Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W (1.15 ) 02/25/2026
May 07 10:34:38 fedora kernel: RIP: 0010:native_queued_spin_lock_slowpath+0x251/0x300
May 07 10:34:38 fedora kernel: Code: 48 63 f6 48 05 00 de b4 8f 48 81 fe 00 20 00 00 0f 83 81 00 00 00 48 03 04 f5 e0 f0 3b 8e 48 89 10 8b 72 08 85 f6 75 09 f3 90 <8b> 42 08 85 c0 74 f7 48 8b 32 48 85 f6 74 07 0f 0d 0e eb 02 f3 90
May 07 10:34:38 fedora kernel: RSP: 0018:ffffd3aa40454b48 EFLAGS: 00000246
May 07 10:34:38 fedora kernel: RAX: 0000000000000000 RBX: ffff8aebf6a10000 RCX: ffff8aebd037f500
May 07 10:34:38 fedora kernel: RDX: ffff8afae02b3e00 RSI: 0000000000000000 RDI: 0000000000000002
May 07 10:34:38 fedora kernel: RBP: ffff8af3091cd200 R08: 0000000000380000 R09: ffff8afb50766000
May 07 10:34:38 fedora kernel: R10: 0000000000380000 R11: 0000000000000010 R12: ffff8aebd037f400
May 07 10:34:38 fedora kernel: R13: 000000000000000d R14: 0000000000000000 R15: 0000000000000000
May 07 10:34:38 fedora kernel: FS:  0000000000000000(0000) GS:ffff8afb50766000(0000) knlGS:0000000000000000
May 07 10:34:38 fedora kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 07 10:34:38 fedora kernel: CR2: 00007f34ddee7000 CR3: 0000000700e2e001 CR4: 0000000000f72ef0
May 07 10:34:38 fedora kernel: PKRU: 55555554
May 07 10:34:38 fedora kernel: Call Trace:
May 07 10:34:38 fedora kernel:  <IRQ>
May 07 10:34:38 fedora kernel:  _raw_spin_lock+0x29/0x30
May 07 10:34:38 fedora kernel:  __dev_queue_xmit+0x7c3/0x9f0
May 07 10:34:38 fedora kernel:  ? selinux_ip_postroute+0x23d/0x5e0
May 07 10:34:38 fedora kernel:  ? ip_skb_dst_mtu+0x12c/0x1b0
May 07 10:34:38 fedora kernel:  ip_finish_output2+0x241/0x5f0
May 07 10:34:38 fedora kernel:  ? __ip_finish_output+0x46/0x170
May 07 10:34:38 fedora kernel:  ip_output+0x63/0x110
May 07 10:34:38 fedora kernel:  ? __pfx_ip_finish_output+0x10/0x10
May 07 10:34:38 fedora kernel:  __ip_queue_xmit+0x16d/0x460
May 07 10:34:38 fedora kernel:  __tcp_transmit_skb+0x923/0x9e0
May 07 10:34:38 fedora kernel:  ? __pfx_tcp_delack_timer+0x10/0x10
May 07 10:34:38 fedora kernel:  tcp_delack_timer_handler+0xb8/0x120
May 07 10:34:38 fedora kernel:  tcp_delack_timer+0xb8/0x120
May 07 10:34:38 fedora kernel:  ? __pfx_tcp_delack_timer+0x10/0x10
May 07 10:34:38 fedora kernel:  call_timer_fn+0x26/0x110
May 07 10:34:38 fedora kernel:  __run_timers+0x27c/0x330
May 07 10:34:38 fedora kernel:  run_timer_softirq+0x86/0xf0
May 07 10:34:38 fedora kernel:  ? irqtime_account_irq+0x3c/0xc0
May 07 10:34:38 fedora kernel:  handle_softirqs+0xf1/0x340
May 07 10:34:38 fedora kernel:  ? sched_clock+0x10/0x30
May 07 10:34:38 fedora kernel:  __irq_exit_rcu+0xc9/0xf0
May 07 10:34:38 fedora kernel:  sysvec_apic_timer_interrupt+0x71/0x90
May 07 10:34:38 fedora kernel:  </IRQ>
May 07 10:34:38 fedora kernel:  <TASK>
May 07 10:34:38 fedora kernel:  asm_sysvec_apic_timer_interrupt+0x1a/0x20
May 07 10:34:38 fedora kernel: RIP: 0010:cpuidle_enter_state+0xcd/0x650
May 07 10:34:38 fedora kernel: Code: 00 00 e8 b6 30 d7 fe e8 91 ed ff ff 49 89 c4 0f 1f 44 00 00 31 ff e8 32 32 d5 fe 45 84 ff 0f 85 09 02 00 00 fb 0f 1f 44 00 00 <45> 85 f6 0f 88 d6 01 00 00 44 89 f5 41 83 fe 09 0f 87 46 04 00 00
May 07 10:34:38 fedora kernel: RSP: 0018:ffffd3aa4020fe40 EFLAGS: 00000246
May 07 10:34:38 fedora kernel: RAX: ffff8afb50766000 RBX: ffff8afae02c1480 RCX: 0000000000000000
May 07 10:34:38 fedora kernel: RDX: 00002f0e661a09bf RSI: 0000000000000000 RDI: 0000000000000000
May 07 10:34:38 fedora kernel: RBP: 0000000000000002 R08: fffffffd0cbc7b26 R09: ffff8afb50766000
May 07 10:34:38 fedora kernel: R10: 00002f115ad33341 R11: 0000000000000000 R12: 00002f0e661a09bf
May 07 10:34:38 fedora kernel: R13: ffffffff8ef191e0 R14: 0000000000000002 R15: 0000000000000000
May 07 10:34:38 fedora kernel:  ? save_fpregs_to_fpstate+0x22/0x60
May 07 10:34:38 fedora kernel:  ? finish_task_switch.isra.0+0x82/0x2a0
May 07 10:34:38 fedora kernel:  cpuidle_enter+0x31/0x50
May 07 10:34:38 fedora kernel:  cpuidle_idle_call+0x10b/0x1f0
May 07 10:34:38 fedora kernel:  ? tsc_verify_tsc_adjust+0x37/0xd0
May 07 10:34:38 fedora kernel:  do_idle+0x94/0x100
May 07 10:34:38 fedora kernel:  cpu_startup_entry+0x29/0x30
May 07 10:34:38 fedora kernel:  start_secondary+0x126/0x180
May 07 10:34:38 fedora kernel:  common_startup_64+0x13e/0x141
May 07 10:34:38 fedora kernel:  </TASK>
May 07 10:34:38 fedora kernel: watchdog: BUG: soft lockup - CPU#3 stuck for 23s! [irq/194-iwlwifi:1046]
May 07 10:34:38 fedora kernel: CPU#3 Utilization every 4000ms during lockup:
May 07 10:34:38 fedora kernel:         #1:   0% system,        100% softirq,          2% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #2:   1% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #3:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #4:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel:         #5:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:34:38 fedora kernel: Modules linked in: uhid xt_connmark xt_conntrack xt_MASQUERADE xt_mark nft_compat overlay rfcomm snd_seq_dummy snd_hrtimer binfmt_misc tun uinput nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common qrtr snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib bnep snd_soc_dmic snd_hda_codec_generic snd_hda_intel snd_sof_pci_intel_mtl sunrpc snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_hda_ext_core snd_hda_codec snd_hda_core snd_intel_dspcfg snd_intel_sdw_acpi snd_soc_acpi_intel_match
May 07 10:34:38 fedora kernel:  snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils x86_pkg_temp_thermal snd_soc_acpi intel_powerclamp snd_hwdep coretemp crc8 soundwire_bus uvcvideo kvm_intel snd_soc_sdca uvc vfat iwlmld snd_soc_core videobuf2_vmalloc fat kvm snd_compress btusb videobuf2_memops btmtk mac80211 ac97_bus processor_thermal_device_pci videobuf2_v4l2 irqbypass btrtl libarc4 snd_pcm_dmaengine processor_thermal_device videobuf2_common snd_seq btbcm processor_thermal_wt_hint rapl videodev btintel mc snd_seq_device iTCO_wdt intel_cstate platform_temperature_control spi_nor processor_thermal_soc_slider snd_ctl_led iwlwifi bluetooth snd_pcm intel_uncore think_lmi processor_thermal_rfim mei_gsc_proxy intel_rapl_msr intel_pmc_bxt mtd intel_pmc_core iTCO_vendor_support thinkpad_acpi mei_wdt processor_thermal_rapl pmt_telemetry pcspkr idma64 intel_rapl_common firmware_attributes_class snd_timer platform_profile processor_thermal_wt_req pmt_discovery wmi_bmof mei_me snd cfg80211 processor_thermal_power_floor
May 07 10:34:38 fedora kernel:  pmt_class i2c_i801 int3400_thermal soc_button_array spi_intel_pci int3403_thermal joydev processor_thermal_mbox intel_hid mei rfkill soundcore intel_pmc_ssram_telemetry acpi_pad acpi_tad i2c_smbus acpi_thermal_rel spi_intel igen6_edac sparse_keymap int340x_thermal_zone nfnetlink zram lz4hc_compress lz4_compress xe drm_ttm_helper drm_suballoc_helper gpu_sched drm_gpuvm drm_exec drm_gpusvm_helper i915 ucsi_acpi typec_ucsi typec i2c_algo_bit nvme drm_buddy nvme_core hid_multitouch ttm nvme_keyring drm_display_helper nvme_auth i2c_hid_acpi thunderbolt video intel_vpu cec hkdf intel_vsec i2c_hid ghash_clmulni_intel wmi pinctrl_meteorlake serio_raw fuse i2c_dev
May 07 10:34:38 fedora kernel: CPU: 3 UID: 0 PID: 1046 Comm: irq/194-iwlwifi Tainted: G             L      6.19.14-300.fc44.x86_64 #1 PREEMPT(lazy) 
May 07 10:34:38 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:34:38 fedora kernel: Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W (1.15 ) 02/25/2026
May 07 10:34:38 fedora kernel: RIP: 0010:native_queued_spin_lock_slowpath+0x251/0x300
May 07 10:34:38 fedora kernel: Code: 48 63 f6 48 05 00 de b4 8f 48 81 fe 00 20 00 00 0f 83 81 00 00 00 48 03 04 f5 e0 f0 3b 8e 48 89 10 8b 72 08 85 f6 75 09 f3 90 <8b> 42 08 85 c0 74 f7 48 8b 32 48 85 f6 74 07 0f 0d 0e eb 02 f3 90
May 07 10:34:38 fedora kernel: RSP: 0018:ffffd3aa404bc9b8 EFLAGS: 00000246
May 07 10:34:38 fedora kernel: RAX: 0000000000000000 RBX: ffff8aebf6a10000 RCX: ffff8aebd037f500
May 07 10:34:38 fedora kernel: RDX: ffff8afadfdb3e00 RSI: 0000000000000000 RDI: 000000000000000e
May 07 10:34:38 fedora kernel: RBP: ffff8af175aea900 R08: 0000000000100000 R09: ffff8afb50266000
May 07 10:34:38 fedora kernel: R10: 0000000000100000 R11: ffff8af175aea900 R12: ffff8aebd037f400
May 07 10:34:38 fedora kernel: R13: 0000000000000003 R14: ffff8af012b7773e R15: ffffffff8fd71700
May 07 10:34:38 fedora kernel: FS:  0000000000000000(0000) GS:ffff8afb50266000(0000) knlGS:0000000000000000
May 07 10:34:38 fedora kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 07 10:34:38 fedora kernel: CR2: 00007f34df890000 CR3: 0000000700e2e001 CR4: 0000000000f72ef0
May 07 10:34:38 fedora kernel: PKRU: 55555554
May 07 10:34:38 fedora kernel: Call Trace:
May 07 10:34:38 fedora kernel:  <IRQ>
May 07 10:34:38 fedora kernel:  _raw_spin_lock+0x29/0x30
May 07 10:34:38 fedora kernel:  __dev_queue_xmit+0x7c3/0x9f0
May 07 10:34:38 fedora kernel:  ? ip_route_input_slow+0x939/0x9a0
May 07 10:34:38 fedora kernel:  ? kmem_cache_alloc_node_noprof+0x160/0x610
May 07 10:34:38 fedora kernel:  ? kmalloc_reserve+0xc7/0x140
May 07 10:34:38 fedora kernel:  ? __alloc_skb+0x12d/0x210
May 07 10:34:38 fedora kernel:  ? eth_header+0x29/0xb0
May 07 10:34:38 fedora kernel:  ? arp_create+0x1d7/0x360
May 07 10:34:38 fedora kernel:  arp_xmit+0x3a/0xf0
May 07 10:34:38 fedora kernel:  ? arp_send_dst+0x37/0xb0
May 07 10:34:38 fedora kernel:  arp_process+0x95e/0xad0
May 07 10:34:38 fedora kernel:  ? skb_clone+0x96/0x1e0
May 07 10:34:38 fedora kernel:  ? arp_rcv+0x79/0x260
May 07 10:34:38 fedora kernel:  __netif_receive_skb_core.constprop.0+0x8a6/0xe40
May 07 10:34:38 fedora kernel:  ? ieee80211_rx_napi+0xa2/0xe0 [mac80211]
May 07 10:34:38 fedora kernel:  ? iwl_mld_rx_mpdu+0x2bf/0x6d0 [iwlmld]
May 07 10:34:38 fedora kernel:  __netif_receive_skb_list_core+0x144/0x330
May 07 10:34:38 fedora kernel:  netif_receive_skb_list_internal+0x1cf/0x300
May 07 10:34:38 fedora kernel:  napi_complete_done+0x8c/0x230
May 07 10:34:38 fedora kernel:  iwl_pcie_napi_poll_msix+0xc4/0xf0 [iwlwifi]
May 07 10:34:38 fedora kernel:  __napi_poll+0xba/0x1f0
May 07 10:34:38 fedora kernel:  net_rx_action+0x34c/0x440
May 07 10:34:38 fedora kernel:  ? update_rq_clock_task+0x3f/0x1d0
May 07 10:34:38 fedora kernel:  handle_softirqs+0xf1/0x340
May 07 10:34:38 fedora kernel:  ? __pfx_irq_thread+0x10/0x10
May 07 10:34:38 fedora kernel:  do_softirq.part.0+0x3b/0x60
May 07 10:34:38 fedora kernel:  </IRQ>
May 07 10:34:38 fedora kernel:  <TASK>
May 07 10:34:38 fedora kernel:  __local_bh_enable_ip+0x62/0x70
May 07 10:34:38 fedora kernel:  iwl_pcie_irq_rx_msix_handler+0xdc/0x150 [iwlwifi]
May 07 10:34:38 fedora kernel:  ? __pfx_irq_thread_fn+0x10/0x10
May 07 10:34:38 fedora kernel:  irq_thread_fn+0x25/0x60
May 07 10:34:38 fedora kernel:  irq_thread+0xc7/0x1d0
May 07 10:34:38 fedora kernel:  ? __pfx_irq_thread_dtor+0x10/0x10
May 07 10:34:38 fedora kernel:  kthread+0xfa/0x240
May 07 10:34:38 fedora kernel:  ? finish_task_switch.isra.0+0x82/0x2a0
May 07 10:34:38 fedora kernel:  ? __pfx_kthread+0x10/0x10
May 07 10:34:38 fedora kernel:  ? __pfx_kthread+0x10/0x10
May 07 10:34:38 fedora kernel:  ret_from_fork+0x130/0x1a0
May 07 10:34:38 fedora kernel:  ? __pfx_kthread+0x10/0x10
May 07 10:34:38 fedora kernel:  ret_from_fork_asm+0x1a/0x30
May 07 10:34:38 fedora kernel:  </TASK>
May 07 10:34:38 fedora kernel: i915 0000:00:02.0: [drm] *ERROR* GT0: GUC: TLB invalidation response timed out for seqno 559591
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: HCMD_ACTIVE already clear for command SYSTEM_STATISTICS_CMD
May 07 10:34:38 fedora kernel: iwlwifi 0000:00:14.3: restart completed
May 07 10:34:38 fedora kernel: wlp0s20f3: deauthenticated from 78:20:51:14:69:57 (Reason: 6=CLASS2_FRAME_FROM_NONAUTH_STA)
May 07 10:34:38 fedora kernel: wlp0s20f3: authenticate with 78:20:51:14:69:57 (local address=92:27:c2:c0:59:31)
May 07 10:34:38 fedora kernel: wlp0s20f3: send auth to 78:20:51:14:69:57 (try 1/3)
May 07 10:34:38 fedora kernel: wlp0s20f3: authenticated
May 07 10:34:38 fedora kernel: wlp0s20f3: associate with 78:20:51:14:69:57 (try 1/3)
May 07 10:34:38 fedora kernel: wlp0s20f3: RX AssocResp from 78:20:51:14:69:57 (capab=0x1511 status=0 aid=6)
May 07 10:34:38 fedora kernel: wlp0s20f3: associated
May 07 10:40:41 fedora kernel: input: Ivan's Buds4 Pro (AVRCP) as /devices/virtual/input/input26
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: Error sending SYSTEM_STATISTICS_CMD: time out after 2000ms.
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: Current CMD queue read_ptr 262 write_ptr 263
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: Transport status: 0x0000004A, valid: 6
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: Loaded firmware version: 101.6e695a70.0 bz-b0-fm-c0-c101.ucode
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000084 | NMI_INTERRUPT_UNKNOWN       
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x000002F0 | trm_hw_status0
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | trm_hw_status1
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x002C3EAE | branchlink2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00017DDE | interruptlink1
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00017DDE | interruptlink2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00015A22 | data1
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x01000000 | data2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | data3
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | beacon time
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x736AF208 | tsf low
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x0000058F | tsf hi
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | time gp1
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x31E3882E | time gp2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000001 | uCode revision type
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000065 | uCode version major
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x6E695A70 | uCode version minor
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00080930 | hw version
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x40480002 | board version
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x8095F400 | hcmd
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00020000 | isr0
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x08000000 | isr1
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x48F84002 | isr2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x04C0000C | isr3
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | isr4
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x03D0001C | last cmd Id
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00015A22 | wait_event
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | l2p_control
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | l2p_duration
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | l2p_mhvalid
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | l2p_addr_match
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000028 | lmpm_pmg_sel
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | timestamp
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x0000F0F0 | flow_handler
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: Transport status: 0x0000004A, valid: 6
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: Loaded firmware version: 101.6e695a70.0 bz-b0-fm-c0-c101.ucode
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000084 | NMI_INTERRUPT_UNKNOWN       
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x000002F0 | trm_hw_status0
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | trm_hw_status1
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x002C3EAE | branchlink2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x002BDF9C | interruptlink1
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x002BDF9C | interruptlink2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x002A715E | data1
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x01000000 | data2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | data3
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | beacon time
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x736AF212 | tsf low
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x0000058F | tsf hi
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | time gp1
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x31E38838 | time gp2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000001 | uCode revision type
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000065 | uCode version major
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x6E695A70 | uCode version minor
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00080930 | hw version
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x40480002 | board version
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x8090FC11 | hcmd
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00020000 | isr0
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x08000000 | isr1
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x48F84002 | isr2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x04C0000C | isr3
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | isr4
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | last cmd Id
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x002A715E | wait_event
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | l2p_control
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | l2p_duration
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | l2p_mhvalid
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | l2p_addr_match
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000028 | lmpm_pmg_sel
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | timestamp
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x0000F0F0 | flow_handler
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: Transport status: 0x0000004A, valid: 7
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x20000066 | NMI_INTERRUPT_HOST
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | umac branchlink1
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0xC00808AE | umac branchlink2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x8028DF86 | umac interruptlink1
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | umac interruptlink2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x01000000 | umac data1
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | umac data2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | umac data3
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000065 | umac major
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x6E695A70 | umac minor
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x31E38826 | frame pointer
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0xD00D618C | stack pointer
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x0006020F | last host cmd
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00010408 | isr status reg
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: TCM1 status:
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000070 | error ID
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00002452 | tcm branchlink2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00001980 | tcm interruptlink1
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00001980 | tcm interruptlink2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x40000000 | tcm data1
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0xDEADBEEF | tcm data2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0xDEADBEEF | tcm data3
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x000024D0 | tcm log PC
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00803FF0 | tcm frame pointer
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00803F5C | tcm stack pointer
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | tcm msg ID
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x40000000 | tcm ISR status
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x000002F0 | tcm HW status[0]
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | tcm HW status[1]
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | tcm HW status[2]
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x60008220 | tcm HW status[3]
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | tcm HW status[4]
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | tcm SW status[0]
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: RCM1 status:
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000070 | error ID
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x000015D6 | rcm branchlink2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000880 | rcm interruptlink1
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000880 | rcm interruptlink2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x20000000 | rcm data1
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0xDEADBEEF | rcm data2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0xDEADBEEF | rcm data3
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00001640 | rcm log PC
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00803FF0 | rcm frame pointer
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00803F5C | rcm stack pointer
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | rcm msg ID
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x20000000 | rcm ISR status
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00020400 | frame HW status
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | LMAC-to-RCM request mbox
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | RCM-to-LMAC request mbox
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | MAC header control
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | MAC header addr1 low
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x003C0000 | MAC header info
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | MAC header error
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: TCM2 status:
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000070 | error ID
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00002452 | tcm branchlink2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00001980 | tcm interruptlink1
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00001980 | tcm interruptlink2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x40000000 | tcm data1
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0xDEADBEEF | tcm data2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0xDEADBEEF | tcm data3
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x000024D0 | tcm log PC
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00803FF0 | tcm frame pointer
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00803F5C | tcm stack pointer
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | tcm msg ID
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x40000000 | tcm ISR status
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x000002F0 | tcm HW status[0]
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | tcm HW status[1]
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | tcm HW status[2]
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x20008000 | tcm HW status[3]
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | tcm HW status[4]
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | tcm SW status[0]
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: RCM2 status:
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000070 | error ID
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x000015D6 | rcm branchlink2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000880 | rcm interruptlink1
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000880 | rcm interruptlink2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x20000000 | rcm data1
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0xDEADBEEF | rcm data2
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0xDEADBEEF | rcm data3
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00001640 | rcm log PC
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00803FF0 | rcm frame pointer
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00803F5C | rcm stack pointer
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | rcm msg ID
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x20000000 | rcm ISR status
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00020400 | frame HW status
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | LMAC-to-RCM request mbox
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | RCM-to-LMAC request mbox
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | MAC header control
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | MAC header addr1 low
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x003C0000 | MAC header info
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | MAC header error
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: IML/ROM dump:
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000B03 | IML/ROM error/state
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x0000E699 | IML/ROM data1
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000080 | IML/ROM WFPM_AUTH_KEY_0
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: Fseq Registers:
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x66A00000 | FSEQ_ERROR_CODE
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x80B10005 | FSEQ_TOP_INIT_VERSION
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00A30000 | FSEQ_CNVIO_INIT_VERSION
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x0000AA15 | FSEQ_OTP_VERSION
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x0000000F | FSEQ_TOP_CONTENT_VERSION
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x4552414E | FSEQ_ALIVE_TOKEN
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00080930 | FSEQ_CNVI_ID
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x02001910 | FSEQ_CNVR_ID
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00080930 | CNVI_AUX_MISC_CHIP
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x02001910 | CNVR_AUX_MISC_CHIP
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x8F0F1041 | CNVR_SCU_SD_REGS_SD_REG_DIG_DCDC_VTRIM
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00000000 | CNVR_SCU_SD_REGS_SD_REG_ACTIVE_VDIG_MIRROR
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00A30000 | FSEQ_PREV_CNVIO_INIT_VERSION
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00B10005 | FSEQ_WIFI_FSEQ_VERSION
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x00B10005 | FSEQ_BT_FSEQ_VERSION
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x000000E6 | FSEQ_CLASS_TP_VERSION
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: UMAC CURRENT PC: 0xc008652c
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: LMAC1 CURRENT PC: 0xd0
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: LMAC2 CURRENT PC: 0xd0
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: UMAC CURRENT PC 1: 0xc0086532
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: TCM1 CURRENT PC: 0xd0
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: RCM1 CURRENT PC: 0xd0
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: RCM2 CURRENT PC: 0xd0
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: Function Scratch status:
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: 0x01010100 | Func Scratch
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: WRT: Collecting data: ini trigger 4 fired (delay=0ms).
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: timeout waiting for FW reset ACK (inta_hw=0x4, reset_done 1)
May 07 10:48:35 fedora kernel: iwlwifi 0000:00:14.3: Device error - SW reset
May 07 10:48:35 fedora kernel: ieee80211 phy0: Hardware restart was requested
May 07 10:48:44 fedora kernel: Bluetooth: hci0: Opcode 0x0401 failed: -110
May 07 10:48:44 fedora kernel: Bluetooth: hci0: command 0x0401 tx timeout
May 07 10:48:44 fedora kernel: Bluetooth: hci0: Initiating acpi reset method
May 07 10:49:00 fedora kernel: watchdog: BUG: soft lockup - CPU#2 stuck for 23s! [joplin:4922]
May 07 10:49:00 fedora kernel: CPU#2 Utilization every 4000ms during lockup:
May 07 10:49:00 fedora kernel:         #1: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #2: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #3: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #4: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #5: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel: Modules linked in: uhid xt_connmark xt_conntrack xt_MASQUERADE xt_mark nft_compat overlay rfcomm snd_seq_dummy snd_hrtimer binfmt_misc tun uinput nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common qrtr snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib bnep snd_soc_dmic snd_hda_codec_generic snd_hda_intel snd_sof_pci_intel_mtl sunrpc snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_hda_ext_core snd_hda_codec snd_hda_core snd_intel_dspcfg snd_intel_sdw_acpi snd_soc_acpi_intel_match
May 07 10:49:00 fedora kernel:  snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils x86_pkg_temp_thermal snd_soc_acpi intel_powerclamp snd_hwdep coretemp crc8 soundwire_bus uvcvideo kvm_intel snd_soc_sdca uvc vfat iwlmld snd_soc_core videobuf2_vmalloc fat kvm snd_compress btusb videobuf2_memops btmtk mac80211 ac97_bus processor_thermal_device_pci videobuf2_v4l2 irqbypass btrtl libarc4 snd_pcm_dmaengine processor_thermal_device videobuf2_common snd_seq btbcm processor_thermal_wt_hint rapl videodev btintel mc snd_seq_device iTCO_wdt intel_cstate platform_temperature_control spi_nor processor_thermal_soc_slider snd_ctl_led iwlwifi bluetooth snd_pcm intel_uncore think_lmi processor_thermal_rfim mei_gsc_proxy intel_rapl_msr intel_pmc_bxt mtd intel_pmc_core iTCO_vendor_support thinkpad_acpi mei_wdt processor_thermal_rapl pmt_telemetry pcspkr idma64 intel_rapl_common firmware_attributes_class snd_timer platform_profile processor_thermal_wt_req pmt_discovery wmi_bmof mei_me snd cfg80211 processor_thermal_power_floor
May 07 10:49:00 fedora kernel:  pmt_class i2c_i801 int3400_thermal soc_button_array spi_intel_pci int3403_thermal joydev processor_thermal_mbox intel_hid mei rfkill soundcore intel_pmc_ssram_telemetry acpi_pad acpi_tad i2c_smbus acpi_thermal_rel spi_intel igen6_edac sparse_keymap int340x_thermal_zone nfnetlink zram lz4hc_compress lz4_compress xe drm_ttm_helper drm_suballoc_helper gpu_sched drm_gpuvm drm_exec drm_gpusvm_helper i915 ucsi_acpi typec_ucsi typec i2c_algo_bit nvme drm_buddy nvme_core hid_multitouch ttm nvme_keyring drm_display_helper nvme_auth i2c_hid_acpi thunderbolt video intel_vpu cec hkdf intel_vsec i2c_hid ghash_clmulni_intel wmi pinctrl_meteorlake serio_raw fuse i2c_dev
May 07 10:49:00 fedora kernel: CPU: 2 UID: 1000 PID: 4922 Comm: joplin Tainted: G             L      6.19.14-300.fc44.x86_64 #1 PREEMPT(lazy) 
May 07 10:49:00 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:49:00 fedora kernel: Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W (1.15 ) 02/25/2026
May 07 10:49:00 fedora kernel: RIP: 0010:native_queued_spin_lock_slowpath+0x267/0x300
May 07 10:49:00 fedora kernel: Code: 48 03 04 f5 e0 f0 3b 8e 48 89 10 8b 72 08 85 f6 75 09 f3 90 8b 42 08 85 c0 74 f7 48 8b 32 48 85 f6 74 07 0f 0d 0e eb 02 f3 90 <8b> 01 66 85 c0 75 f7 44 39 c0 74 3a c6 01 01 48 85 f6 74 0e c7 46
May 07 10:49:00 fedora kernel: RSP: 0018:ffffd3aa6270f808 EFLAGS: 00000202
May 07 10:49:00 fedora kernel: RAX: 0000000000240101 RBX: ffff8aebf6a10000 RCX: ffff8aebd037f500
May 07 10:49:00 fedora kernel: RDX: ffff8afadfd33e00 RSI: 0000000000000000 RDI: 0000000000000000
May 07 10:49:00 fedora kernel: RBP: ffff8aeda7c7cce8 R08: 00000000000c0000 R09: ffff8afb501e6000
May 07 10:49:00 fedora kernel: R10: 00000000000c0000 R11: 0000000000000010 R12: ffff8aebd037f400
May 07 10:49:00 fedora kernel: R13: 0000000000000002 R14: 0000000000000000 R15: 0000000000000000
May 07 10:49:00 fedora kernel: FS:  00007fcfceb2a040(0000) GS:ffff8afb501e6000(0000) knlGS:0000000000000000
May 07 10:49:00 fedora kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 07 10:49:00 fedora kernel: CR2: 0000180c0f0e0000 CR3: 00000003b458a002 CR4: 0000000000f72ef0
May 07 10:49:00 fedora kernel: PKRU: 55555558
May 07 10:49:00 fedora kernel: Call Trace:
May 07 10:49:00 fedora kernel:  <TASK>
May 07 10:49:00 fedora kernel:  _raw_spin_lock+0x29/0x30
May 07 10:49:00 fedora kernel:  __dev_queue_xmit+0x7c3/0x9f0
May 07 10:49:00 fedora kernel:  ? __nf_conntrack_confirm+0x2a2/0x580 [nf_conntrack]
May 07 10:49:00 fedora kernel:  ? ip_skb_dst_mtu+0x12c/0x1b0
May 07 10:49:00 fedora kernel:  ip_finish_output2+0x241/0x5f0
May 07 10:49:00 fedora kernel:  ? __ip_finish_output+0x46/0x170
May 07 10:49:00 fedora kernel:  ip_output+0x63/0x110
May 07 10:49:00 fedora kernel:  ? __pfx_ip_finish_output+0x10/0x10
May 07 10:49:00 fedora kernel:  __ip_queue_xmit+0x16d/0x460
May 07 10:49:00 fedora kernel:  __tcp_transmit_skb+0x923/0x9e0
May 07 10:49:00 fedora kernel:  tcp_connect+0x56c/0x7a0
May 07 10:49:00 fedora kernel:  ? ktime_get_with_offset+0xf1/0x150
May 07 10:49:00 fedora kernel:  tcp_v4_connect+0x4ad/0x5b0
May 07 10:49:00 fedora kernel:  __inet_stream_connect+0x12b/0x450
May 07 10:49:00 fedora kernel:  ? release_sock+0x4f/0xa0
May 07 10:49:00 fedora kernel:  ? selinux_netlbl_socket_connect+0x2d/0x50
May 07 10:49:00 fedora kernel:  ? security_socket_connect+0x78/0x130
May 07 10:49:00 fedora kernel:  inet_stream_connect+0x3c/0x60
May 07 10:49:00 fedora kernel:  __sys_connect+0x93/0xe0
May 07 10:49:00 fedora kernel:  __x64_sys_connect+0x18/0x20
May 07 10:49:00 fedora kernel:  do_syscall_64+0x7e/0x6e0
May 07 10:49:00 fedora kernel:  ? update_load_avg+0x84/0x400
May 07 10:49:00 fedora kernel:  ? update_curr+0x63/0x160
May 07 10:49:00 fedora kernel:  ? task_tick_fair+0x5e/0x600
May 07 10:49:00 fedora kernel:  ? sched_clock+0x10/0x30
May 07 10:49:00 fedora kernel:  ? nohz_balancer_kick+0x3a/0x340
May 07 10:49:00 fedora kernel:  ? perf_event_task_tick+0x4f/0xb0
May 07 10:49:00 fedora kernel:  ? sched_tick+0xf3/0x260
May 07 10:49:00 fedora kernel:  ? __pfx_tick_nohz_handler+0x10/0x10
May 07 10:49:00 fedora kernel:  ? update_process_times+0x95/0xc0
May 07 10:49:00 fedora kernel:  ? tick_nohz_handler+0xb1/0x180
May 07 10:49:00 fedora kernel:  ? timerqueue_add+0xb8/0xe0
May 07 10:49:00 fedora kernel:  ? __hrtimer_run_queues+0x14f/0x280
May 07 10:49:00 fedora kernel:  ? ktime_get+0xc6/0x110
May 07 10:49:00 fedora kernel:  ? lapic_next_deadline+0x26/0x30
May 07 10:49:00 fedora kernel:  ? clockevents_program_event+0xab/0x110
May 07 10:49:00 fedora kernel:  ? hrtimer_update_next_event+0x7b/0xa0
May 07 10:49:00 fedora kernel:  ? sched_clock+0x10/0x30
May 07 10:49:00 fedora kernel:  ? sched_clock_cpu+0xf/0x230
May 07 10:49:00 fedora kernel:  ? irqtime_account_irq+0x3c/0xc0
May 07 10:49:00 fedora kernel:  ? irqentry_exit+0x7b/0x560
May 07 10:49:00 fedora kernel:  ? __irq_exit_rcu+0x4c/0xf0
May 07 10:49:00 fedora kernel:  entry_SYSCALL_64_after_hwframe+0x76/0x7e
May 07 10:49:00 fedora kernel: RIP: 0033:0x7fcfcfd5abe2
May 07 10:49:00 fedora kernel: Code: 08 0f 85 c1 40 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> 66 2e 0f 1f 84 00 00 00 00 00 66 2e 0f 1f 84 00 00 00 00 00 66
May 07 10:49:00 fedora kernel: RSP: 002b:00007ffc8f63e988 EFLAGS: 00000246 ORIG_RAX: 000000000000002a
May 07 10:49:00 fedora kernel: RAX: ffffffffffffffda RBX: 0000180c0312fc38 RCX: 00007fcfcfd5abe2
May 07 10:49:00 fedora kernel: RDX: 0000000000000010 RSI: 00007ffc8f63ea90 RDI: 000000000000002f
May 07 10:49:00 fedora kernel: RBP: 00007ffc8f63e9b0 R08: 0000000000000000 R09: 0000000000000000
May 07 10:49:00 fedora kernel: R10: 0000000000000000 R11: 0000000000000246 R12: 00007fcfceb29950
May 07 10:49:00 fedora kernel: R13: 00007ffc8f63ea90 R14: 0000180c045105b0 R15: 000000000000002f
May 07 10:49:00 fedora kernel:  </TASK>
May 07 10:49:00 fedora kernel: watchdog: BUG: soft lockup - CPU#5 stuck for 23s! [Chrome_ChildIOT:3786]
May 07 10:49:00 fedora kernel: CPU#5 Utilization every 4000ms during lockup:
May 07 10:49:00 fedora kernel:         #1: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #2:  99% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #3: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #4: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #5: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel: Modules linked in: uhid xt_connmark xt_conntrack xt_MASQUERADE xt_mark nft_compat overlay rfcomm snd_seq_dummy snd_hrtimer binfmt_misc tun uinput nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common qrtr snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib bnep snd_soc_dmic snd_hda_codec_generic snd_hda_intel snd_sof_pci_intel_mtl sunrpc snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_hda_ext_core snd_hda_codec snd_hda_core snd_intel_dspcfg snd_intel_sdw_acpi snd_soc_acpi_intel_match
May 07 10:49:00 fedora kernel:  snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils x86_pkg_temp_thermal snd_soc_acpi intel_powerclamp snd_hwdep coretemp crc8 soundwire_bus uvcvideo kvm_intel snd_soc_sdca uvc vfat iwlmld snd_soc_core videobuf2_vmalloc fat kvm snd_compress btusb videobuf2_memops btmtk mac80211 ac97_bus processor_thermal_device_pci videobuf2_v4l2 irqbypass btrtl libarc4 snd_pcm_dmaengine processor_thermal_device videobuf2_common snd_seq btbcm processor_thermal_wt_hint rapl videodev btintel mc snd_seq_device iTCO_wdt intel_cstate platform_temperature_control spi_nor processor_thermal_soc_slider snd_ctl_led iwlwifi bluetooth snd_pcm intel_uncore think_lmi processor_thermal_rfim mei_gsc_proxy intel_rapl_msr intel_pmc_bxt mtd intel_pmc_core iTCO_vendor_support thinkpad_acpi mei_wdt processor_thermal_rapl pmt_telemetry pcspkr idma64 intel_rapl_common firmware_attributes_class snd_timer platform_profile processor_thermal_wt_req pmt_discovery wmi_bmof mei_me snd cfg80211 processor_thermal_power_floor
May 07 10:49:00 fedora kernel:  pmt_class i2c_i801 int3400_thermal soc_button_array spi_intel_pci int3403_thermal joydev processor_thermal_mbox intel_hid mei rfkill soundcore intel_pmc_ssram_telemetry acpi_pad acpi_tad i2c_smbus acpi_thermal_rel spi_intel igen6_edac sparse_keymap int340x_thermal_zone nfnetlink zram lz4hc_compress lz4_compress xe drm_ttm_helper drm_suballoc_helper gpu_sched drm_gpuvm drm_exec drm_gpusvm_helper i915 ucsi_acpi typec_ucsi typec i2c_algo_bit nvme drm_buddy nvme_core hid_multitouch ttm nvme_keyring drm_display_helper nvme_auth i2c_hid_acpi thunderbolt video intel_vpu cec hkdf intel_vsec i2c_hid ghash_clmulni_intel wmi pinctrl_meteorlake serio_raw fuse i2c_dev
May 07 10:49:00 fedora kernel: CPU: 5 UID: 1000 PID: 3786 Comm: Chrome_ChildIOT Tainted: G             L      6.19.14-300.fc44.x86_64 #1 PREEMPT(lazy) 
May 07 10:49:00 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:49:00 fedora kernel: Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W (1.15 ) 02/25/2026
May 07 10:49:00 fedora kernel: RIP: 0010:native_queued_spin_lock_slowpath+0x251/0x300
May 07 10:49:00 fedora kernel: Code: 48 63 f6 48 05 00 de b4 8f 48 81 fe 00 20 00 00 0f 83 81 00 00 00 48 03 04 f5 e0 f0 3b 8e 48 89 10 8b 72 08 85 f6 75 09 f3 90 <8b> 42 08 85 c0 74 f7 48 8b 32 48 85 f6 74 07 0f 0d 0e eb 02 f3 90
May 07 10:49:00 fedora kernel: RSP: 0018:ffffd3aa4e1376b8 EFLAGS: 00000246
May 07 10:49:00 fedora kernel: RAX: 0000000000000000 RBX: ffff8aebf6a10000 RCX: ffff8aebd037f500
May 07 10:49:00 fedora kernel: RDX: ffff8afadfeb3e00 RSI: 0000000000000000 RDI: 0000000000000004
May 07 10:49:00 fedora kernel: RBP: ffff8af1b460fce8 R08: 0000000000180000 R09: ffff8afb50366000
May 07 10:49:00 fedora kernel: R10: 0000000000180000 R11: 0000000000000010 R12: ffff8aebd037f400
May 07 10:49:00 fedora kernel: R13: 0000000000000005 R14: 0000000000000000 R15: 0000000000000000
May 07 10:49:00 fedora kernel: FS:  00007fe5793fc6c0(0000) GS:ffff8afb50366000(0000) knlGS:0000000000000000
May 07 10:49:00 fedora kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 07 10:49:00 fedora kernel: CR2: 0000359c00208000 CR3: 0000000308105005 CR4: 0000000000f72ef0
May 07 10:49:00 fedora kernel: PKRU: 55555554
May 07 10:49:00 fedora kernel: Call Trace:
May 07 10:49:00 fedora kernel:  <TASK>
May 07 10:49:00 fedora kernel:  _raw_spin_lock+0x29/0x30
May 07 10:49:00 fedora kernel:  __dev_queue_xmit+0x7c3/0x9f0
May 07 10:49:00 fedora kernel:  ? selinux_ip_postroute+0x23d/0x5e0
May 07 10:49:00 fedora kernel:  ? ip_skb_dst_mtu+0x12c/0x1b0
May 07 10:49:00 fedora kernel:  ip_finish_output2+0x241/0x5f0
May 07 10:49:00 fedora kernel:  ? __ip_finish_output+0x46/0x170
May 07 10:49:00 fedora kernel:  ip_output+0x63/0x110
May 07 10:49:00 fedora kernel:  ? __pfx_ip_finish_output+0x10/0x10
May 07 10:49:00 fedora kernel:  __ip_queue_xmit+0x16d/0x460
May 07 10:49:00 fedora kernel:  __tcp_transmit_skb+0x923/0x9e0
May 07 10:49:00 fedora kernel:  tcp_write_xmit+0x538/0xb70
May 07 10:49:00 fedora kernel:  ? __check_object_size+0x6f/0xd0
May 07 10:49:00 fedora kernel:  __tcp_push_pending_frames+0x37/0x110
May 07 10:49:00 fedora kernel:  tcp_sendmsg_locked+0x5c9/0x1270
May 07 10:49:00 fedora kernel:  tcp_sendmsg+0x2f/0x50
May 07 10:49:00 fedora kernel:  __sys_sendto+0x229/0x240
May 07 10:49:00 fedora kernel:  __x64_sys_sendto+0x24/0x30
May 07 10:49:00 fedora kernel:  do_syscall_64+0x7e/0x6e0
May 07 10:49:00 fedora kernel:  ? count_memcg_events+0xd6/0x210
May 07 10:49:00 fedora kernel:  ? memcg1_commit_charge+0x78/0xa0
May 07 10:49:00 fedora kernel:  ? mod_memcg_lruvec_state+0xe7/0x2d0
May 07 10:49:00 fedora kernel:  ? charge_memcg+0x41/0x80
May 07 10:49:00 fedora kernel:  ? lruvec_stat_mod_folio+0x85/0xd0
May 07 10:49:00 fedora kernel:  ? __folio_mod_stat+0x2d/0x90
May 07 10:49:00 fedora kernel:  ? do_anonymous_page+0x374/0x5d0
May 07 10:49:00 fedora kernel:  ? __handle_mm_fault+0x47c/0x6f0
May 07 10:49:00 fedora kernel:  ? count_memcg_events+0xd6/0x210
May 07 10:49:00 fedora kernel:  ? handle_mm_fault+0x248/0x330
May 07 10:49:00 fedora kernel:  ? do_user_addr_fault+0x2cd/0x830
May 07 10:49:00 fedora kernel:  ? irqentry_exit+0x7b/0x560
May 07 10:49:00 fedora kernel:  ? exc_page_fault+0x8f/0x1d0
May 07 10:49:00 fedora kernel:  entry_SYSCALL_64_after_hwframe+0x76/0x7e
May 07 10:49:00 fedora kernel: RIP: 0033:0x7fe58bfdce32
May 07 10:49:00 fedora kernel: Code: 08 0f 85 91 41 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 55 bf 01 00
May 07 10:49:00 fedora kernel: RSP: 002b:00007fe5793f9848 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
May 07 10:49:00 fedora kernel: RAX: ffffffffffffffda RBX: 0000359c001a8c80 RCX: 00007fe58bfdce32
May 07 10:49:00 fedora kernel: RDX: 000000000000001f RSI: 0000359c00208000 RDI: 0000000000000018
May 07 10:49:00 fedora kernel: RBP: 00007fe5793f9870 R08: 0000000000000000 R09: 0000000000000000
May 07 10:49:00 fedora kernel: R10: 0000000000004000 R11: 0000000000000246 R12: 0000359c00076600
May 07 10:49:00 fedora kernel: R13: 0000359c0001fcc0 R14: 000000000000001f R15: 000000000000001f
May 07 10:49:00 fedora kernel:  </TASK>
May 07 10:49:00 fedora kernel: watchdog: BUG: soft lockup - CPU#7 stuck for 23s! [tailscaled:1451]
May 07 10:49:00 fedora kernel: CPU#7 Utilization every 4000ms during lockup:
May 07 10:49:00 fedora kernel:         #1: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #2: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #3: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #4: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #5: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel: Modules linked in: uhid xt_connmark xt_conntrack xt_MASQUERADE xt_mark nft_compat overlay rfcomm snd_seq_dummy snd_hrtimer binfmt_misc tun uinput nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common qrtr snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib bnep snd_soc_dmic snd_hda_codec_generic snd_hda_intel snd_sof_pci_intel_mtl sunrpc snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_hda_ext_core snd_hda_codec snd_hda_core snd_intel_dspcfg snd_intel_sdw_acpi snd_soc_acpi_intel_match
May 07 10:49:00 fedora kernel:  snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils x86_pkg_temp_thermal snd_soc_acpi intel_powerclamp snd_hwdep coretemp crc8 soundwire_bus uvcvideo kvm_intel snd_soc_sdca uvc vfat iwlmld snd_soc_core videobuf2_vmalloc fat kvm snd_compress btusb videobuf2_memops btmtk mac80211 ac97_bus processor_thermal_device_pci videobuf2_v4l2 irqbypass btrtl libarc4 snd_pcm_dmaengine processor_thermal_device videobuf2_common snd_seq btbcm processor_thermal_wt_hint rapl videodev btintel mc snd_seq_device iTCO_wdt intel_cstate platform_temperature_control spi_nor processor_thermal_soc_slider snd_ctl_led iwlwifi bluetooth snd_pcm intel_uncore think_lmi processor_thermal_rfim mei_gsc_proxy intel_rapl_msr intel_pmc_bxt mtd intel_pmc_core iTCO_vendor_support thinkpad_acpi mei_wdt processor_thermal_rapl pmt_telemetry pcspkr idma64 intel_rapl_common firmware_attributes_class snd_timer platform_profile processor_thermal_wt_req pmt_discovery wmi_bmof mei_me snd cfg80211 processor_thermal_power_floor
May 07 10:49:00 fedora kernel:  pmt_class i2c_i801 int3400_thermal soc_button_array spi_intel_pci int3403_thermal joydev processor_thermal_mbox intel_hid mei rfkill soundcore intel_pmc_ssram_telemetry acpi_pad acpi_tad i2c_smbus acpi_thermal_rel spi_intel igen6_edac sparse_keymap int340x_thermal_zone nfnetlink zram lz4hc_compress lz4_compress xe drm_ttm_helper drm_suballoc_helper gpu_sched drm_gpuvm drm_exec drm_gpusvm_helper i915 ucsi_acpi typec_ucsi typec i2c_algo_bit nvme drm_buddy nvme_core hid_multitouch ttm nvme_keyring drm_display_helper nvme_auth i2c_hid_acpi thunderbolt video intel_vpu cec hkdf intel_vsec i2c_hid ghash_clmulni_intel wmi pinctrl_meteorlake serio_raw fuse i2c_dev
May 07 10:49:00 fedora kernel: CPU: 7 UID: 0 PID: 1451 Comm: tailscaled Tainted: G             L      6.19.14-300.fc44.x86_64 #1 PREEMPT(lazy) 
May 07 10:49:00 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:49:00 fedora kernel: Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W (1.15 ) 02/25/2026
May 07 10:49:00 fedora kernel: RIP: 0010:native_queued_spin_lock_slowpath+0x251/0x300
May 07 10:49:00 fedora kernel: Code: 48 63 f6 48 05 00 de b4 8f 48 81 fe 00 20 00 00 0f 83 81 00 00 00 48 03 04 f5 e0 f0 3b 8e 48 89 10 8b 72 08 85 f6 75 09 f3 90 <8b> 42 08 85 c0 74 f7 48 8b 32 48 85 f6 74 07 0f 0d 0e eb 02 f3 90
May 07 10:49:00 fedora kernel: RSP: 0018:ffffd3aa4d4e3548 EFLAGS: 00000246
May 07 10:49:00 fedora kernel: RAX: 0000000000000000 RBX: ffff8aebf6a10000 RCX: ffff8aebd037f500
May 07 10:49:00 fedora kernel: RDX: ffff8afadffb3e00 RSI: 0000000000000000 RDI: 000000000000000a
May 07 10:49:00 fedora kernel: RBP: ffff8aed91b7a8e8 R08: 0000000000200000 R09: ffff8afb50466000
May 07 10:49:00 fedora kernel: R10: 0000000000200000 R11: 0000000000000010 R12: ffff8aebd037f400
May 07 10:49:00 fedora kernel: R13: 0000000000000007 R14: 0000000000000000 R15: 0000000000000000
May 07 10:49:00 fedora kernel: FS:  0000112a5067a890(0000) GS:ffff8afb50466000(0000) knlGS:0000000000000000
May 07 10:49:00 fedora kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 07 10:49:00 fedora kernel: CR2: 00002c240896c000 CR3: 00000001435a6001 CR4: 0000000000f72ef0
May 07 10:49:00 fedora kernel: PKRU: 55555554
May 07 10:49:00 fedora kernel: Call Trace:
May 07 10:49:00 fedora kernel:  <TASK>
May 07 10:49:00 fedora kernel:  _raw_spin_lock+0x29/0x30
May 07 10:49:00 fedora kernel:  __dev_queue_xmit+0x7c3/0x9f0
May 07 10:49:00 fedora kernel:  ? selinux_ip_postroute+0x23d/0x5e0
May 07 10:49:00 fedora kernel:  ? ip_skb_dst_mtu+0x12c/0x1b0
May 07 10:49:00 fedora kernel:  ip_finish_output2+0x241/0x5f0
May 07 10:49:00 fedora kernel:  ? __ip_finish_output+0x46/0x170
May 07 10:49:00 fedora kernel:  ip_output+0x63/0x110
May 07 10:49:00 fedora kernel:  ? __pfx_ip_finish_output+0x10/0x10
May 07 10:49:00 fedora kernel:  __ip_queue_xmit+0x16d/0x460
May 07 10:49:00 fedora kernel:  __tcp_transmit_skb+0x923/0x9e0
May 07 10:49:00 fedora kernel:  tcp_write_xmit+0x538/0xb70
May 07 10:49:00 fedora kernel:  ? __check_object_size+0x6f/0xd0
May 07 10:49:00 fedora kernel:  __tcp_push_pending_frames+0x37/0x110
May 07 10:49:00 fedora kernel:  tcp_sendmsg_locked+0x5c9/0x1270
May 07 10:49:00 fedora kernel:  tcp_sendmsg+0x2f/0x50
May 07 10:49:00 fedora kernel:  sock_write_iter+0x187/0x1a0
May 07 10:49:00 fedora kernel:  vfs_write+0x454/0x570
May 07 10:49:00 fedora kernel:  ksys_write+0xcf/0x110
May 07 10:49:00 fedora kernel:  do_syscall_64+0x7e/0x6e0
May 07 10:49:00 fedora kernel:  ? futex_hash+0x86/0xa0
May 07 10:49:00 fedora kernel:  ? futex_wake+0xcc/0x240
May 07 10:49:00 fedora kernel:  ? do_futex+0x11f/0x190
May 07 10:49:00 fedora kernel:  ? __x64_sys_futex+0x12a/0x220
May 07 10:49:00 fedora kernel:  ? select_idle_cpu+0x500/0x6f0
May 07 10:49:00 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:49:00 fedora kernel:  ? select_idle_sibling+0x524/0xf30
May 07 10:49:00 fedora kernel:  ? remove_entity_load_avg+0x37/0x90
May 07 10:49:00 fedora kernel:  ? __smp_call_single_queue+0xdb/0x190
May 07 10:49:00 fedora kernel:  ? ttwu_queue_wakelist+0x145/0x230
May 07 10:49:00 fedora kernel:  ? set_task_cpu+0xa5/0x1c0
May 07 10:49:00 fedora kernel:  ? try_to_wake_up+0x2dc/0x920
May 07 10:49:00 fedora kernel:  ? plist_del+0x59/0xc0
May 07 10:49:00 fedora kernel:  ? wake_up_q+0x4c/0xa0
May 07 10:49:00 fedora kernel:  ? futex_wake+0xcc/0x240
May 07 10:49:00 fedora kernel:  ? do_futex+0x11f/0x190
May 07 10:49:00 fedora kernel:  ? __x64_sys_futex+0x12a/0x220
May 07 10:49:00 fedora kernel:  ? arch_exit_to_user_mode_prepare.isra.0+0x9f/0xc0
May 07 10:49:00 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:49:00 fedora kernel:  ? __irq_exit_rcu+0x4c/0xf0
May 07 10:49:00 fedora kernel:  entry_SYSCALL_64_after_hwframe+0x76/0x7e
May 07 10:49:00 fedora kernel: RIP: 0033:0x40abae
May 07 10:49:00 fedora kernel: Code: ff cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc 49 89 f2 48 89 fa 48 89 ce 48 89 df 0f 05 <48> 3d 01 f0 ff ff 76 15 48 f7 d8 48 89 c1 48 c7 c0 ff ff ff ff 48
May 07 10:49:00 fedora kernel: RSP: 002b:0000112a53878750 EFLAGS: 00000212 ORIG_RAX: 0000000000000001
May 07 10:49:00 fedora kernel: RAX: ffffffffffffffda RBX: 0000000000000014 RCX: 000000000040abae
May 07 10:49:00 fedora kernel: RDX: 00000000000000c1 RSI: 0000112a537d2500 RDI: 0000000000000014
May 07 10:49:00 fedora kernel: RBP: 0000112a53878790 R08: 0000000000000000 R09: 0000000000000000
May 07 10:49:00 fedora kernel: R10: 0000000000000000 R11: 0000000000000212 R12: 0000112a538788c0
May 07 10:49:00 fedora kernel: R13: 000000000000000a R14: 0000112a518881e0 R15: 0000112a537d2505
May 07 10:49:00 fedora kernel:  </TASK>
May 07 10:49:00 fedora kernel: watchdog: BUG: soft lockup - CPU#9 stuck for 23s! [tailscaled:1469]
May 07 10:49:00 fedora kernel: CPU#9 Utilization every 4000ms during lockup:
May 07 10:49:00 fedora kernel:         #1: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #2: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #3: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #4: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #5: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel: Modules linked in: uhid xt_connmark xt_conntrack xt_MASQUERADE xt_mark nft_compat overlay rfcomm snd_seq_dummy snd_hrtimer binfmt_misc tun uinput nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common qrtr snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib bnep snd_soc_dmic snd_hda_codec_generic snd_hda_intel snd_sof_pci_intel_mtl sunrpc snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_hda_ext_core snd_hda_codec snd_hda_core snd_intel_dspcfg snd_intel_sdw_acpi snd_soc_acpi_intel_match
May 07 10:49:00 fedora kernel:  snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils x86_pkg_temp_thermal snd_soc_acpi intel_powerclamp snd_hwdep coretemp crc8 soundwire_bus uvcvideo kvm_intel snd_soc_sdca uvc vfat iwlmld snd_soc_core videobuf2_vmalloc fat kvm snd_compress btusb videobuf2_memops btmtk mac80211 ac97_bus processor_thermal_device_pci videobuf2_v4l2 irqbypass btrtl libarc4 snd_pcm_dmaengine processor_thermal_device videobuf2_common snd_seq btbcm processor_thermal_wt_hint rapl videodev btintel mc snd_seq_device iTCO_wdt intel_cstate platform_temperature_control spi_nor processor_thermal_soc_slider snd_ctl_led iwlwifi bluetooth snd_pcm intel_uncore think_lmi processor_thermal_rfim mei_gsc_proxy intel_rapl_msr intel_pmc_bxt mtd intel_pmc_core iTCO_vendor_support thinkpad_acpi mei_wdt processor_thermal_rapl pmt_telemetry pcspkr idma64 intel_rapl_common firmware_attributes_class snd_timer platform_profile processor_thermal_wt_req pmt_discovery wmi_bmof mei_me snd cfg80211 processor_thermal_power_floor
May 07 10:49:00 fedora kernel:  pmt_class i2c_i801 int3400_thermal soc_button_array spi_intel_pci int3403_thermal joydev processor_thermal_mbox intel_hid mei rfkill soundcore intel_pmc_ssram_telemetry acpi_pad acpi_tad i2c_smbus acpi_thermal_rel spi_intel igen6_edac sparse_keymap int340x_thermal_zone nfnetlink zram lz4hc_compress lz4_compress xe drm_ttm_helper drm_suballoc_helper gpu_sched drm_gpuvm drm_exec drm_gpusvm_helper i915 ucsi_acpi typec_ucsi typec i2c_algo_bit nvme drm_buddy nvme_core hid_multitouch ttm nvme_keyring drm_display_helper nvme_auth i2c_hid_acpi thunderbolt video intel_vpu cec hkdf intel_vsec i2c_hid ghash_clmulni_intel wmi pinctrl_meteorlake serio_raw fuse i2c_dev
May 07 10:49:00 fedora kernel: CPU: 9 UID: 0 PID: 1469 Comm: tailscaled Tainted: G             L      6.19.14-300.fc44.x86_64 #1 PREEMPT(lazy) 
May 07 10:49:00 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:49:00 fedora kernel: Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W (1.15 ) 02/25/2026
May 07 10:49:00 fedora kernel: RIP: 0010:native_queued_spin_lock_slowpath+0x251/0x300
May 07 10:49:00 fedora kernel: Code: 48 63 f6 48 05 00 de b4 8f 48 81 fe 00 20 00 00 0f 83 81 00 00 00 48 03 04 f5 e0 f0 3b 8e 48 89 10 8b 72 08 85 f6 75 09 f3 90 <8b> 42 08 85 c0 74 f7 48 8b 32 48 85 f6 74 07 0f 0d 0e eb 02 f3 90
May 07 10:49:00 fedora kernel: RSP: 0018:ffffd3aa4d283938 EFLAGS: 00000246
May 07 10:49:00 fedora kernel: RAX: 0000000000000000 RBX: ffff8aebf6a10000 RCX: ffff8aebd037f500
May 07 10:49:00 fedora kernel: RDX: ffff8afae00b3e00 RSI: 0000000000000000 RDI: 000000000000000e
May 07 10:49:00 fedora kernel: RBP: ffff8aebd2de0000 R08: 0000000000280000 R09: ffff8afb50566000
May 07 10:49:00 fedora kernel: R10: 0000000000280000 R11: 0000000000000010 R12: ffff8aebd037f400
May 07 10:49:00 fedora kernel: R13: 0000000000000009 R14: 0000000000000000 R15: 0000000046004a5b
May 07 10:49:00 fedora kernel: FS:  0000112a50701090(0000) GS:ffff8afb50566000(0000) knlGS:0000000000000000
May 07 10:49:00 fedora kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 07 10:49:00 fedora kernel: CR2: 0000377c145b7000 CR3: 00000001435a6006 CR4: 0000000000f72ef0
May 07 10:49:00 fedora kernel: PKRU: 55555554
May 07 10:49:00 fedora kernel: Call Trace:
May 07 10:49:00 fedora kernel:  <TASK>
May 07 10:49:00 fedora kernel:  _raw_spin_lock+0x29/0x30
May 07 10:49:00 fedora kernel:  __dev_queue_xmit+0x7c3/0x9f0
May 07 10:49:00 fedora kernel:  ? selinux_ip_postroute+0x23d/0x5e0
May 07 10:49:00 fedora kernel:  ? ip_skb_dst_mtu+0x12c/0x1b0
May 07 10:49:00 fedora kernel:  ip_finish_output2+0x241/0x5f0
May 07 10:49:00 fedora kernel:  ? __ip_finish_output+0x46/0x170
May 07 10:49:00 fedora kernel:  ? nf_hook_slow+0x47/0x100
May 07 10:49:00 fedora kernel:  ip_output+0x63/0x110
May 07 10:49:00 fedora kernel:  ? __pfx_ip_finish_output+0x10/0x10
May 07 10:49:00 fedora kernel:  ip_send_skb+0x89/0xa0
May 07 10:49:00 fedora kernel:  udp_send_skb+0x1a7/0x3c0
May 07 10:49:00 fedora kernel:  ? udp_sendmsg+0xb4b/0xfe0
May 07 10:49:00 fedora kernel:  ? udp_sendmsg+0xb4b/0xfe0
May 07 10:49:00 fedora kernel:  udp_sendmsg+0xb6f/0xfe0
May 07 10:49:00 fedora kernel:  ? __pfx_ip_generic_getfrag+0x10/0x10
May 07 10:49:00 fedora kernel:  ? futex_wake+0xcc/0x240
May 07 10:49:00 fedora kernel:  ? select_idle_core.isra.0+0x5b/0x220
May 07 10:49:00 fedora kernel:  __sys_sendto+0x229/0x240
May 07 10:49:00 fedora kernel:  ? __smp_call_single_queue+0xdb/0x190
May 07 10:49:00 fedora kernel:  __x64_sys_sendto+0x24/0x30
May 07 10:49:00 fedora kernel:  do_syscall_64+0x7e/0x6e0
May 07 10:49:00 fedora kernel:  ? do_futex+0x11f/0x190
May 07 10:49:00 fedora kernel:  ? __x64_sys_futex+0x12a/0x220
May 07 10:49:00 fedora kernel:  ? lapic_next_deadline+0x26/0x30
May 07 10:49:00 fedora kernel:  ? clockevents_program_event+0xab/0x110
May 07 10:49:00 fedora kernel:  ? hrtimer_update_next_event+0x7b/0xa0
May 07 10:49:00 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:49:00 fedora kernel:  ? irqtime_account_irq+0x3c/0xc0
May 07 10:49:00 fedora kernel:  ? irqentry_exit+0x7b/0x560
May 07 10:49:00 fedora kernel:  ? __irq_exit_rcu+0x4c/0xf0
May 07 10:49:00 fedora kernel:  entry_SYSCALL_64_after_hwframe+0x76/0x7e
May 07 10:49:00 fedora kernel: RIP: 0033:0x40abae
May 07 10:49:00 fedora kernel: Code: ff cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc 49 89 f2 48 89 fa 48 89 ce 48 89 df 0f 05 <48> 3d 01 f0 ff ff 76 15 48 f7 d8 48 89 c1 48 c7 c0 ff ff ff ff 48
May 07 10:49:00 fedora kernel: RSP: 002b:0000112a53728530 EFLAGS: 00000212 ORIG_RAX: 000000000000002c
May 07 10:49:00 fedora kernel: RAX: ffffffffffffffda RBX: 0000000000000013 RCX: 000000000040abae
May 07 10:49:00 fedora kernel: RDX: 000000000000007c RSI: 0000112a5367ca00 RDI: 0000000000000013
May 07 10:49:00 fedora kernel: RBP: 0000112a53728570 R08: 0000112a537287fc R09: 0000000000000010
May 07 10:49:00 fedora kernel: R10: 0000000000000000 R11: 0000000000000212 R12: 0000112a53728700
May 07 10:49:00 fedora kernel: R13: 38a97231d5e9727e R14: 0000112a546d90e0 R15: 0000000000000000
May 07 10:49:00 fedora kernel:  </TASK>
May 07 10:49:00 fedora kernel: watchdog: BUG: soft lockup - CPU#12 stuck for 26s! [ssh:77512]
May 07 10:49:00 fedora kernel: CPU#12 Utilization every 4000ms during lockup:
May 07 10:49:00 fedora kernel:         #1:  99% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #2:  99% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #3:  99% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #4:  99% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #5: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:49:00 fedora kernel: Modules linked in: uhid xt_connmark xt_conntrack xt_MASQUERADE xt_mark nft_compat overlay rfcomm snd_seq_dummy snd_hrtimer binfmt_misc tun uinput nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common qrtr snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib bnep snd_soc_dmic snd_hda_codec_generic snd_hda_intel snd_sof_pci_intel_mtl sunrpc snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_hda_ext_core snd_hda_codec snd_hda_core snd_intel_dspcfg snd_intel_sdw_acpi snd_soc_acpi_intel_match
May 07 10:49:00 fedora kernel:  snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils x86_pkg_temp_thermal snd_soc_acpi intel_powerclamp snd_hwdep coretemp crc8 soundwire_bus uvcvideo kvm_intel snd_soc_sdca uvc vfat iwlmld snd_soc_core videobuf2_vmalloc fat kvm snd_compress btusb videobuf2_memops btmtk mac80211 ac97_bus processor_thermal_device_pci videobuf2_v4l2 irqbypass btrtl libarc4 snd_pcm_dmaengine processor_thermal_device videobuf2_common snd_seq btbcm processor_thermal_wt_hint rapl videodev btintel mc snd_seq_device iTCO_wdt intel_cstate platform_temperature_control spi_nor processor_thermal_soc_slider snd_ctl_led iwlwifi bluetooth snd_pcm intel_uncore think_lmi processor_thermal_rfim mei_gsc_proxy intel_rapl_msr intel_pmc_bxt mtd intel_pmc_core iTCO_vendor_support thinkpad_acpi mei_wdt processor_thermal_rapl pmt_telemetry pcspkr idma64 intel_rapl_common firmware_attributes_class snd_timer platform_profile processor_thermal_wt_req pmt_discovery wmi_bmof mei_me snd cfg80211 processor_thermal_power_floor
May 07 10:49:00 fedora kernel:  pmt_class i2c_i801 int3400_thermal soc_button_array spi_intel_pci int3403_thermal joydev processor_thermal_mbox intel_hid mei rfkill soundcore intel_pmc_ssram_telemetry acpi_pad acpi_tad i2c_smbus acpi_thermal_rel spi_intel igen6_edac sparse_keymap int340x_thermal_zone nfnetlink zram lz4hc_compress lz4_compress xe drm_ttm_helper drm_suballoc_helper gpu_sched drm_gpuvm drm_exec drm_gpusvm_helper i915 ucsi_acpi typec_ucsi typec i2c_algo_bit nvme drm_buddy nvme_core hid_multitouch ttm nvme_keyring drm_display_helper nvme_auth i2c_hid_acpi thunderbolt video intel_vpu cec hkdf intel_vsec i2c_hid ghash_clmulni_intel wmi pinctrl_meteorlake serio_raw fuse i2c_dev
May 07 10:49:00 fedora kernel: CPU: 12 UID: 1000 PID: 77512 Comm: ssh Tainted: G             L      6.19.14-300.fc44.x86_64 #1 PREEMPT(lazy) 
May 07 10:49:00 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:49:00 fedora kernel: Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W (1.15 ) 02/25/2026
May 07 10:49:00 fedora kernel: RIP: 0010:skb_release_data+0x7c/0x250
May 07 10:49:00 fedora kernel: Code: f0 41 0f c1 54 24 20 39 d0 0f 85 40 01 00 00 48 89 5c 24 10 4d 85 ed 74 6a 41 8b 85 c0 00 00 00 49 03 85 c8 00 00 00 0f b6 10 <f6> c2 01 74 54 48 8b 70 28 48 85 f6 74 4b 41 0f b6 1c 24 83 e3 10
May 07 10:49:00 fedora kernel: RSP: 0018:ffffd3aa4ebb6fb8 EFLAGS: 00000286
May 07 10:49:00 fedora kernel: RAX: ffff8af7d59f9fc0 RBX: ffff8af7d5a12000 RCX: 0000000000000008
May 07 10:49:00 fedora kernel: RDX: 0000000000000000 RSI: 0000000000000002 RDI: ffff8af7d5a12000
May 07 10:49:00 fedora kernel: RBP: ffff8af7d5a13400 R08: 0000000000000000 R09: ffffffff8d5d2d4c
May 07 10:49:00 fedora kernel: R10: ffff8af7d59f9340 R11: fffffb00b4567e00 R12: ffff8af7d59f9fc0
May 07 10:49:00 fedora kernel: R13: ffff8af7d5a12000 R14: 0000000000000002 R15: 0000000000000000
May 07 10:49:00 fedora kernel: FS:  00007facb2d97cc0(0000) GS:ffff8afb506e6000(0000) knlGS:0000000000000000
May 07 10:49:00 fedora kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 07 10:49:00 fedora kernel: CR2: 00007facb265fb40 CR3: 0000000ace6dc001 CR4: 0000000000f72ef0
May 07 10:49:00 fedora kernel: PKRU: 55555554
May 07 10:49:00 fedora kernel: Call Trace:
May 07 10:49:00 fedora kernel:  <TASK>
May 07 10:49:00 fedora kernel:  kfree_skb_list_reason+0x9f/0x270
May 07 10:49:00 fedora kernel:  skb_segment+0x539/0xeb0
May 07 10:49:00 fedora kernel:  tcp_gso_segment+0x11f/0x620
May 07 10:49:00 fedora kernel:  ? __pfx_tcp_wfree+0x10/0x10
May 07 10:49:00 fedora kernel:  inet_gso_segment+0x166/0x440
May 07 10:49:00 fedora kernel:  skb_mac_gso_segment+0xaa/0x120
May 07 10:49:00 fedora kernel:  __skb_gso_segment+0x79/0x1c0
May 07 10:49:00 fedora kernel:  ? codel_dequeue.constprop.0+0x53/0x440 [mac80211]
May 07 10:49:00 fedora kernel:  iwl_tx_tso_segment+0x32a/0x380 [iwlwifi]
May 07 10:49:00 fedora kernel:  iwl_mld_tx_skb+0xdb/0x240 [iwlmld]
May 07 10:49:00 fedora kernel:  iwl_mld_tx_from_txq+0x94/0x130 [iwlmld]
May 07 10:49:00 fedora kernel:  ieee80211_queue_skb+0x22d/0x370 [mac80211]
May 07 10:49:00 fedora kernel:  __ieee80211_xmit_fast+0x24f/0x370 [mac80211]
May 07 10:49:00 fedora kernel:  ieee80211_xmit_fast+0x149/0x230 [mac80211]
May 07 10:49:00 fedora kernel:  __ieee80211_subif_start_xmit+0x140/0x2d0 [mac80211]
May 07 10:49:00 fedora kernel:  ieee80211_subif_start_xmit+0x43/0x230 [mac80211]
May 07 10:49:00 fedora kernel:  ? netif_skb_features+0xd0/0x600
May 07 10:49:00 fedora kernel:  ? nft_do_chain+0x154/0x5d0 [nf_tables]
May 07 10:49:00 fedora kernel:  xmit_one.constprop.0+0x5a/0x140
May 07 10:49:00 fedora kernel:  dev_hard_start_xmit+0x53/0xa0
May 07 10:49:00 fedora kernel:  __dev_queue_xmit+0x800/0x9f0
May 07 10:49:00 fedora kernel:  ? selinux_ip_postroute+0x23d/0x5e0
May 07 10:49:00 fedora kernel:  ip_finish_output2+0x241/0x5f0
May 07 10:49:00 fedora kernel:  ? __ip_finish_output+0xb4/0x170
May 07 10:49:00 fedora kernel:  ip_output+0x63/0x110
May 07 10:49:00 fedora kernel:  ? __pfx_ip_finish_output+0x10/0x10
May 07 10:49:00 fedora kernel:  __ip_queue_xmit+0x16d/0x460
May 07 10:49:00 fedora kernel:  __tcp_transmit_skb+0x923/0x9e0
May 07 10:49:00 fedora kernel:  tcp_write_xmit+0x538/0xb70
May 07 10:49:00 fedora kernel:  __tcp_push_pending_frames+0x37/0x110
May 07 10:49:00 fedora kernel:  tcp_sendmsg_locked+0x5c9/0x1270
May 07 10:49:00 fedora kernel:  tcp_sendmsg+0x2f/0x50
May 07 10:49:00 fedora kernel:  sock_write_iter+0x187/0x1a0
May 07 10:49:00 fedora kernel:  vfs_write+0x454/0x570
May 07 10:49:00 fedora kernel:  ? lookup_fast+0x2c/0x150
May 07 10:49:00 fedora kernel:  ksys_write+0xcf/0x110
May 07 10:49:00 fedora kernel:  do_syscall_64+0x7e/0x6e0
May 07 10:49:00 fedora kernel:  ? kmem_cache_free+0x51d/0x550
May 07 10:49:00 fedora kernel:  ? path_openat+0xb3/0x2a0
May 07 10:49:00 fedora kernel:  ? path_openat+0xb3/0x2a0
May 07 10:49:00 fedora kernel:  ? do_filp_open+0x10a/0x1b0
May 07 10:49:00 fedora kernel:  ? alloc_fd+0xbd/0x110
May 07 10:49:00 fedora kernel:  ? do_sys_openat2+0xac/0xf0
May 07 10:49:00 fedora kernel:  ? __x64_sys_openat+0x61/0xa0
May 07 10:49:00 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:49:00 fedora kernel:  ? count_memcg_events+0xd6/0x210
May 07 10:49:00 fedora kernel:  ? handle_mm_fault+0x248/0x330
May 07 10:49:00 fedora kernel:  ? do_user_addr_fault+0x2cd/0x830
May 07 10:49:00 fedora kernel:  ? irqentry_exit+0x7b/0x560
May 07 10:49:00 fedora kernel:  ? exc_page_fault+0x8f/0x1d0
May 07 10:49:00 fedora kernel:  entry_SYSCALL_64_after_hwframe+0x76/0x7e
May 07 10:49:00 fedora kernel: RIP: 0033:0x7facb267508e
May 07 10:49:00 fedora kernel: Code: 4d 89 d8 e8 94 bd 00 00 4c 8b 5d f8 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 11 c9 c3 0f 1f 80 00 00 00 00 48 8b 45 10 0f 05 <c9> c3 83 e2 39 83 fa 08 75 e7 e8 03 ff ff ff 0f 1f 00 f3 0f 1e fa
May 07 10:49:00 fedora kernel: RSP: 002b:00007fffceb8e780 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
May 07 10:49:00 fedora kernel: RAX: ffffffffffffffda RBX: 000055c9666fdb80 RCX: 00007facb267508e
May 07 10:49:00 fedora kernel: RDX: 00000000000005b0 RSI: 000055c966717e80 RDI: 0000000000000003
May 07 10:49:00 fedora kernel: RBP: 00007fffceb8e790 R08: 0000000000000000 R09: 0000000000000000
May 07 10:49:00 fedora kernel: R10: 0000000000000000 R11: 0000000000000202 R12: 000055c9666fde40
May 07 10:49:00 fedora kernel: R13: 000055c9666fdb80 R14: 000055c9666fd300 R15: 00007fffceb90ae0
May 07 10:49:00 fedora kernel:  </TASK>
May 07 10:49:00 fedora kernel: watchdog: BUG: soft lockup - CPU#3 stuck for 23s! [irq/204-iwlwifi:1056]
May 07 10:49:00 fedora kernel: CPU#3 Utilization every 4000ms during lockup:
May 07 10:49:00 fedora kernel:         #1:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #2:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #3:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #4:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #5:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel: Modules linked in: uhid xt_connmark xt_conntrack xt_MASQUERADE xt_mark nft_compat overlay rfcomm snd_seq_dummy snd_hrtimer binfmt_misc tun uinput nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common qrtr snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib bnep snd_soc_dmic snd_hda_codec_generic snd_hda_intel snd_sof_pci_intel_mtl sunrpc snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_hda_ext_core snd_hda_codec snd_hda_core snd_intel_dspcfg snd_intel_sdw_acpi snd_soc_acpi_intel_match
May 07 10:49:00 fedora kernel:  snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils x86_pkg_temp_thermal snd_soc_acpi intel_powerclamp snd_hwdep coretemp crc8 soundwire_bus uvcvideo kvm_intel snd_soc_sdca uvc vfat iwlmld snd_soc_core videobuf2_vmalloc fat kvm snd_compress btusb videobuf2_memops btmtk mac80211 ac97_bus processor_thermal_device_pci videobuf2_v4l2 irqbypass btrtl libarc4 snd_pcm_dmaengine processor_thermal_device videobuf2_common snd_seq btbcm processor_thermal_wt_hint rapl videodev btintel mc snd_seq_device iTCO_wdt intel_cstate platform_temperature_control spi_nor processor_thermal_soc_slider snd_ctl_led iwlwifi bluetooth snd_pcm intel_uncore think_lmi processor_thermal_rfim mei_gsc_proxy intel_rapl_msr intel_pmc_bxt mtd intel_pmc_core iTCO_vendor_support thinkpad_acpi mei_wdt processor_thermal_rapl pmt_telemetry pcspkr idma64 intel_rapl_common firmware_attributes_class snd_timer platform_profile processor_thermal_wt_req pmt_discovery wmi_bmof mei_me snd cfg80211 processor_thermal_power_floor
May 07 10:49:00 fedora kernel:  pmt_class i2c_i801 int3400_thermal soc_button_array spi_intel_pci int3403_thermal joydev processor_thermal_mbox intel_hid mei rfkill soundcore intel_pmc_ssram_telemetry acpi_pad acpi_tad i2c_smbus acpi_thermal_rel spi_intel igen6_edac sparse_keymap int340x_thermal_zone nfnetlink zram lz4hc_compress lz4_compress xe drm_ttm_helper drm_suballoc_helper gpu_sched drm_gpuvm drm_exec drm_gpusvm_helper i915 ucsi_acpi typec_ucsi typec i2c_algo_bit nvme drm_buddy nvme_core hid_multitouch ttm nvme_keyring drm_display_helper nvme_auth i2c_hid_acpi thunderbolt video intel_vpu cec hkdf intel_vsec i2c_hid ghash_clmulni_intel wmi pinctrl_meteorlake serio_raw fuse i2c_dev
May 07 10:49:00 fedora kernel: CPU: 3 UID: 0 PID: 1056 Comm: irq/204-iwlwifi Tainted: G             L      6.19.14-300.fc44.x86_64 #1 PREEMPT(lazy) 
May 07 10:49:00 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:49:00 fedora kernel: Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W (1.15 ) 02/25/2026
May 07 10:49:00 fedora kernel: RIP: 0010:native_queued_spin_lock_slowpath+0x251/0x300
May 07 10:49:00 fedora kernel: Code: 48 63 f6 48 05 00 de b4 8f 48 81 fe 00 20 00 00 0f 83 81 00 00 00 48 03 04 f5 e0 f0 3b 8e 48 89 10 8b 72 08 85 f6 75 09 f3 90 <8b> 42 08 85 c0 74 f7 48 8b 32 48 85 f6 74 07 0f 0d 0e eb 02 f3 90
May 07 10:49:00 fedora kernel: RSP: 0018:ffffd3aa404bc868 EFLAGS: 00000246
May 07 10:49:00 fedora kernel: RAX: 0000000000000000 RBX: ffff8aebf6a10000 RCX: ffff8aebd037f500
May 07 10:49:00 fedora kernel: RDX: ffff8afadfdb3e00 RSI: 0000000000000000 RDI: 0000000000000003
May 07 10:49:00 fedora kernel: RBP: ffff8af1fdec9000 R08: 0000000000100000 R09: ffff8afb50266000
May 07 10:49:00 fedora kernel: R10: 0000000000100000 R11: 0000000000000010 R12: ffff8aebd037f400
May 07 10:49:00 fedora kernel: R13: 0000000000000003 R14: 0000000000000000 R15: 0000000000000000
May 07 10:49:00 fedora kernel: FS:  0000000000000000(0000) GS:ffff8afb50266000(0000) knlGS:0000000000000000
May 07 10:49:00 fedora kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 07 10:49:00 fedora kernel: CR2: 00007f34dd0f4000 CR3: 000000036e7a4005 CR4: 0000000000f72ef0
May 07 10:49:00 fedora kernel: PKRU: 55555554
May 07 10:49:00 fedora kernel: Call Trace:
May 07 10:49:00 fedora kernel:  <IRQ>
May 07 10:49:00 fedora kernel:  _raw_spin_lock+0x29/0x30
May 07 10:49:00 fedora kernel:  __dev_queue_xmit+0x7c3/0x9f0
May 07 10:49:00 fedora kernel:  ? selinux_ip_postroute+0x23d/0x5e0
May 07 10:49:00 fedora kernel:  ? ip_skb_dst_mtu+0x12c/0x1b0
May 07 10:49:00 fedora kernel:  ip_finish_output2+0x241/0x5f0
May 07 10:49:00 fedora kernel:  ? __ip_finish_output+0x46/0x170
May 07 10:49:00 fedora kernel:  ip_output+0x63/0x110
May 07 10:49:00 fedora kernel:  ? __pfx_ip_finish_output+0x10/0x10
May 07 10:49:00 fedora kernel:  __ip_queue_xmit+0x16d/0x460
May 07 10:49:00 fedora kernel:  __tcp_transmit_skb+0x923/0x9e0
May 07 10:49:00 fedora kernel:  tcp_v4_do_rcv+0x1b5/0x380
May 07 10:49:00 fedora kernel:  tcp_v4_rcv+0xb06/0x10b0
May 07 10:49:00 fedora kernel:  ? raw_v4_input+0xaa/0x2a0
May 07 10:49:00 fedora kernel:  ip_protocol_deliver_rcu+0x3e/0x1e0
May 07 10:49:00 fedora kernel:  ip_local_deliver_finish+0x85/0x100
May 07 10:49:00 fedora kernel:  ip_list_rcv_finish+0x2c1/0x2f0
May 07 10:49:00 fedora kernel:  ip_list_rcv+0x133/0x1a0
May 07 10:49:00 fedora kernel:  __netif_receive_skb_list_core+0x2d0/0x330
May 07 10:49:00 fedora kernel:  netif_receive_skb_list_internal+0x1cf/0x300
May 07 10:49:00 fedora kernel:  napi_complete_done+0x8c/0x230
May 07 10:49:00 fedora kernel:  iwl_pcie_napi_poll_msix+0xc4/0xf0 [iwlwifi]
May 07 10:49:00 fedora kernel:  __napi_poll+0xba/0x1f0
May 07 10:49:00 fedora kernel:  net_rx_action+0x34c/0x440
May 07 10:49:00 fedora kernel:  ? update_rq_clock_task+0x3f/0x1d0
May 07 10:49:00 fedora kernel:  handle_softirqs+0xf1/0x340
May 07 10:49:00 fedora kernel:  ? __pfx_irq_thread+0x10/0x10
May 07 10:49:00 fedora kernel:  do_softirq.part.0+0x3b/0x60
May 07 10:49:00 fedora kernel:  </IRQ>
May 07 10:49:00 fedora kernel:  <TASK>
May 07 10:49:00 fedora kernel:  __local_bh_enable_ip+0x62/0x70
May 07 10:49:00 fedora kernel:  iwl_pcie_irq_rx_msix_handler+0xdc/0x150 [iwlwifi]
May 07 10:49:00 fedora kernel:  ? __pfx_irq_thread_fn+0x10/0x10
May 07 10:49:00 fedora kernel:  irq_thread_fn+0x25/0x60
May 07 10:49:00 fedora kernel:  irq_thread+0xc7/0x1d0
May 07 10:49:00 fedora kernel:  ? __pfx_irq_thread_dtor+0x10/0x10
May 07 10:49:00 fedora kernel:  kthread+0xfa/0x240
May 07 10:49:00 fedora kernel:  ? finish_task_switch.isra.0+0x82/0x2a0
May 07 10:49:00 fedora kernel:  ? __pfx_kthread+0x10/0x10
May 07 10:49:00 fedora kernel:  ? __pfx_kthread+0x10/0x10
May 07 10:49:00 fedora kernel:  ret_from_fork+0x130/0x1a0
May 07 10:49:00 fedora kernel:  ? __pfx_kthread+0x10/0x10
May 07 10:49:00 fedora kernel:  ret_from_fork_asm+0x1a/0x30
May 07 10:49:00 fedora kernel:  </TASK>
May 07 10:49:00 fedora kernel: watchdog: BUG: soft lockup - CPU#11 stuck for 26s! [HTTP Client:5806]
May 07 10:49:00 fedora kernel: CPU#11 Utilization every 4000ms during lockup:
May 07 10:49:00 fedora kernel:         #1:  99% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #2: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #3:  99% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #4: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #5:  99% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:49:00 fedora kernel: Modules linked in: uhid xt_connmark xt_conntrack xt_MASQUERADE xt_mark nft_compat overlay rfcomm snd_seq_dummy snd_hrtimer binfmt_misc tun uinput nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common qrtr snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib bnep snd_soc_dmic snd_hda_codec_generic snd_hda_intel snd_sof_pci_intel_mtl sunrpc snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_hda_ext_core snd_hda_codec snd_hda_core snd_intel_dspcfg snd_intel_sdw_acpi snd_soc_acpi_intel_match
May 07 10:49:00 fedora kernel:  snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils x86_pkg_temp_thermal snd_soc_acpi intel_powerclamp snd_hwdep coretemp crc8 soundwire_bus uvcvideo kvm_intel snd_soc_sdca uvc vfat iwlmld snd_soc_core videobuf2_vmalloc fat kvm snd_compress btusb videobuf2_memops btmtk mac80211 ac97_bus processor_thermal_device_pci videobuf2_v4l2 irqbypass btrtl libarc4 snd_pcm_dmaengine processor_thermal_device videobuf2_common snd_seq btbcm processor_thermal_wt_hint rapl videodev btintel mc snd_seq_device iTCO_wdt intel_cstate platform_temperature_control spi_nor processor_thermal_soc_slider snd_ctl_led iwlwifi bluetooth snd_pcm intel_uncore think_lmi processor_thermal_rfim mei_gsc_proxy intel_rapl_msr intel_pmc_bxt mtd intel_pmc_core iTCO_vendor_support thinkpad_acpi mei_wdt processor_thermal_rapl pmt_telemetry pcspkr idma64 intel_rapl_common firmware_attributes_class snd_timer platform_profile processor_thermal_wt_req pmt_discovery wmi_bmof mei_me snd cfg80211 processor_thermal_power_floor
May 07 10:49:00 fedora kernel:  pmt_class i2c_i801 int3400_thermal soc_button_array spi_intel_pci int3403_thermal joydev processor_thermal_mbox intel_hid mei rfkill soundcore intel_pmc_ssram_telemetry acpi_pad acpi_tad i2c_smbus acpi_thermal_rel spi_intel igen6_edac sparse_keymap int340x_thermal_zone nfnetlink zram lz4hc_compress lz4_compress xe drm_ttm_helper drm_suballoc_helper gpu_sched drm_gpuvm drm_exec drm_gpusvm_helper i915 ucsi_acpi typec_ucsi typec i2c_algo_bit nvme drm_buddy nvme_core hid_multitouch ttm nvme_keyring drm_display_helper nvme_auth i2c_hid_acpi thunderbolt video intel_vpu cec hkdf intel_vsec i2c_hid ghash_clmulni_intel wmi pinctrl_meteorlake serio_raw fuse i2c_dev
May 07 10:49:00 fedora kernel: CPU: 11 UID: 1000 PID: 5806 Comm: HTTP Client Tainted: G             L      6.19.14-300.fc44.x86_64 #1 PREEMPT(lazy) 
May 07 10:49:00 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:49:00 fedora kernel: Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W (1.15 ) 02/25/2026
May 07 10:49:00 fedora kernel: RIP: 0010:native_queued_spin_lock_slowpath+0x6a/0x300
May 07 10:49:00 fedora kernel: Code: 08 0f 92 c2 8b 01 0f b6 d2 c1 e2 08 30 e4 09 d0 3d ff 00 00 00 77 51 85 c0 75 0f bf 01 00 00 00 66 89 39 c3 cc cc cc cc f3 90 <80> 39 00 75 f9 bf 01 00 00 00 66 89 39 c3 cc cc cc cc 8b 37 b8 00
May 07 10:49:00 fedora kernel: RSP: 0018:ffffd3aa4fd63a60 EFLAGS: 00000202
May 07 10:49:00 fedora kernel: RAX: 0000000000000001 RBX: ffff8aec69c9c280 RCX: ffff8aec69c9c3c8
May 07 10:49:00 fedora kernel: RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff8aec69c9c3c8
May 07 10:49:00 fedora kernel: RBP: ffff8aec69c9c3c8 R08: ffffd3aa4fd63b0c R09: 0000000000000000
May 07 10:49:00 fedora kernel: R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000040
May 07 10:49:00 fedora kernel: R13: 0000000000080000 R14: 0000000000000000 R15: 0000000000000000
May 07 10:49:00 fedora kernel: FS:  00007f3605fff6c0(0000) GS:ffff8afb50666000(0000) knlGS:0000000000000000
May 07 10:49:00 fedora kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 07 10:49:00 fedora kernel: CR2: 00007f18e09f2000 CR3: 00000004b7d9b005 CR4: 0000000000f72ef0
May 07 10:49:00 fedora kernel: PKRU: 55555554
May 07 10:49:00 fedora kernel: Call Trace:
May 07 10:49:00 fedora kernel:  <TASK>
May 07 10:49:00 fedora kernel:  _raw_spin_lock_bh+0x2d/0x40
May 07 10:49:00 fedora kernel:  lock_sock_nested+0x22/0x50
May 07 10:49:00 fedora kernel:  tcp_recvmsg+0x8d/0x1f0
May 07 10:49:00 fedora kernel:  inet_recvmsg+0x52/0x130
May 07 10:49:00 fedora kernel:  ? security_socket_recvmsg+0x70/0x150
May 07 10:49:00 fedora kernel:  sock_recvmsg+0x97/0xa0
May 07 10:49:00 fedora kernel:  ? fdget+0xb2/0x110
May 07 10:49:00 fedora kernel:  __sys_recvfrom+0x117/0x1a0
May 07 10:49:00 fedora kernel:  __x64_sys_recvfrom+0x24/0x30
May 07 10:49:00 fedora kernel:  do_syscall_64+0x7e/0x6e0
May 07 10:49:00 fedora kernel:  ? ep_poll+0x149/0x450
May 07 10:49:00 fedora kernel:  ? __pfx_ep_autoremove_wake_function+0x10/0x10
May 07 10:49:00 fedora kernel:  ? do_epoll_wait+0x9d/0xb0
May 07 10:49:00 fedora kernel:  ? do_compat_epoll_pwait.part.0+0x53/0x70
May 07 10:49:00 fedora kernel:  ? __x64_sys_epoll_pwait2+0xb9/0xe0
May 07 10:49:00 fedora kernel:  ? switch_fpu_return+0x59/0xf0
May 07 10:49:00 fedora kernel:  ? arch_exit_to_user_mode_prepare.isra.0+0x9f/0xc0
May 07 10:49:00 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:49:00 fedora kernel:  ? eventfd_write+0xdc/0x230
May 07 10:49:00 fedora kernel:  ? security_file_permission+0x50/0xf0
May 07 10:49:00 fedora kernel:  ? rw_verify_area+0x61/0x1a0
May 07 10:49:00 fedora kernel:  ? vfs_write+0xe6/0x570
May 07 10:49:00 fedora kernel:  ? __sys_getsockopt+0x88/0x100
May 07 10:49:00 fedora kernel:  ? __sys_getsockopt+0xbe/0x100
May 07 10:49:00 fedora kernel:  ? ksys_write+0xdd/0x110
May 07 10:49:00 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:49:00 fedora kernel:  ? __irq_exit_rcu+0x4c/0xf0
May 07 10:49:00 fedora kernel:  entry_SYSCALL_64_after_hwframe+0x76/0x7e
May 07 10:49:00 fedora kernel: RIP: 0033:0x7f36228efe32
May 07 10:49:00 fedora kernel: Code: 08 0f 85 91 41 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 55 bf 01 00
May 07 10:49:00 fedora kernel: RSP: 002b:00007f3605fae498 EFLAGS: 00000246 ORIG_RAX: 000000000000002d
May 07 10:49:00 fedora kernel: RAX: ffffffffffffffda RBX: 000003f041ce5550 RCX: 00007f36228efe32
May 07 10:49:00 fedora kernel: RDX: 0000000000080000 RSI: 000003f041a90020 RDI: 0000000000000012
May 07 10:49:00 fedora kernel: RBP: 00007f3605fae4c0 R08: 0000000000000000 R09: 0000000000000000
May 07 10:49:00 fedora kernel: R10: 0000000000000040 R11: 0000000000000246 R12: 0000000000000012
May 07 10:49:00 fedora kernel: R13: 000003f042f3ec40 R14: 000003f041a90020 R15: 0000000000000001
May 07 10:49:00 fedora kernel:  </TASK>
May 07 10:49:00 fedora kernel: watchdog: BUG: soft lockup - CPU#10 stuck for 26s! [irq/200-iwlwifi:1052]
May 07 10:49:00 fedora kernel: CPU#10 Utilization every 4000ms during lockup:
May 07 10:49:00 fedora kernel:         #1:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #2:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #3:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #4:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #5:   0% system,        100% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel: Modules linked in: uhid xt_connmark xt_conntrack xt_MASQUERADE xt_mark nft_compat overlay rfcomm snd_seq_dummy snd_hrtimer binfmt_misc tun uinput nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common qrtr snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib bnep snd_soc_dmic snd_hda_codec_generic snd_hda_intel snd_sof_pci_intel_mtl sunrpc snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_hda_ext_core snd_hda_codec snd_hda_core snd_intel_dspcfg snd_intel_sdw_acpi snd_soc_acpi_intel_match
May 07 10:49:00 fedora kernel:  snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils x86_pkg_temp_thermal snd_soc_acpi intel_powerclamp snd_hwdep coretemp crc8 soundwire_bus uvcvideo kvm_intel snd_soc_sdca uvc vfat iwlmld snd_soc_core videobuf2_vmalloc fat kvm snd_compress btusb videobuf2_memops btmtk mac80211 ac97_bus processor_thermal_device_pci videobuf2_v4l2 irqbypass btrtl libarc4 snd_pcm_dmaengine processor_thermal_device videobuf2_common snd_seq btbcm processor_thermal_wt_hint rapl videodev btintel mc snd_seq_device iTCO_wdt intel_cstate platform_temperature_control spi_nor processor_thermal_soc_slider snd_ctl_led iwlwifi bluetooth snd_pcm intel_uncore think_lmi processor_thermal_rfim mei_gsc_proxy intel_rapl_msr intel_pmc_bxt mtd intel_pmc_core iTCO_vendor_support thinkpad_acpi mei_wdt processor_thermal_rapl pmt_telemetry pcspkr idma64 intel_rapl_common firmware_attributes_class snd_timer platform_profile processor_thermal_wt_req pmt_discovery wmi_bmof mei_me snd cfg80211 processor_thermal_power_floor
May 07 10:49:00 fedora kernel:  pmt_class i2c_i801 int3400_thermal soc_button_array spi_intel_pci int3403_thermal joydev processor_thermal_mbox intel_hid mei rfkill soundcore intel_pmc_ssram_telemetry acpi_pad acpi_tad i2c_smbus acpi_thermal_rel spi_intel igen6_edac sparse_keymap int340x_thermal_zone nfnetlink zram lz4hc_compress lz4_compress xe drm_ttm_helper drm_suballoc_helper gpu_sched drm_gpuvm drm_exec drm_gpusvm_helper i915 ucsi_acpi typec_ucsi typec i2c_algo_bit nvme drm_buddy nvme_core hid_multitouch ttm nvme_keyring drm_display_helper nvme_auth i2c_hid_acpi thunderbolt video intel_vpu cec hkdf intel_vsec i2c_hid ghash_clmulni_intel wmi pinctrl_meteorlake serio_raw fuse i2c_dev
May 07 10:49:00 fedora kernel: CPU: 10 UID: 0 PID: 1052 Comm: irq/200-iwlwifi Tainted: G             L      6.19.14-300.fc44.x86_64 #1 PREEMPT(lazy) 
May 07 10:49:00 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:49:00 fedora kernel: Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W (1.15 ) 02/25/2026
May 07 10:49:00 fedora kernel: RIP: 0010:native_queued_spin_lock_slowpath+0x6a/0x300
May 07 10:49:00 fedora kernel: Code: 08 0f 92 c2 8b 01 0f b6 d2 c1 e2 08 30 e4 09 d0 3d ff 00 00 00 77 51 85 c0 75 0f bf 01 00 00 00 66 89 39 c3 cc cc cc cc f3 90 <80> 39 00 75 f9 bf 01 00 00 00 66 89 39 c3 cc cc cc cc 8b 37 b8 00
May 07 10:49:00 fedora kernel: RSP: 0018:ffffd3aa403b8890 EFLAGS: 00000202
May 07 10:49:00 fedora kernel: RAX: 0000000000000001 RBX: ffff8aebf6a10000 RCX: ffff8aebd037f500
May 07 10:49:00 fedora kernel: RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff8aebd037f500
May 07 10:49:00 fedora kernel: RBP: ffff8af1520c1600 R08: 0000000000000000 R09: 000000000000000e
May 07 10:49:00 fedora kernel: R10: 0000000000000000 R11: 0000000000000010 R12: ffff8aebd037f400
May 07 10:49:00 fedora kernel: R13: 000000000000000a R14: 0000000000000000 R15: 0000000000000000
May 07 10:49:00 fedora kernel: FS:  0000000000000000(0000) GS:ffff8afb505e6000(0000) knlGS:0000000000000000
May 07 10:49:00 fedora kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 07 10:49:00 fedora kernel: CR2: 00007fa8383cb000 CR3: 0000000700e2e004 CR4: 0000000000f72ef0
May 07 10:49:00 fedora kernel: PKRU: 55555554
May 07 10:49:00 fedora kernel: Call Trace:
May 07 10:49:00 fedora kernel:  <IRQ>
May 07 10:49:00 fedora kernel:  _raw_spin_lock+0x29/0x30
May 07 10:49:00 fedora kernel:  __dev_queue_xmit+0x7c3/0x9f0
May 07 10:49:00 fedora kernel:  ? selinux_ip_postroute+0x23d/0x5e0
May 07 10:49:00 fedora kernel:  ? ip_skb_dst_mtu+0x12c/0x1b0
May 07 10:49:00 fedora kernel:  ip_finish_output2+0x241/0x5f0
May 07 10:49:00 fedora kernel:  ? __ip_finish_output+0x46/0x170
May 07 10:49:00 fedora kernel:  ip_output+0x63/0x110
May 07 10:49:00 fedora kernel:  ? __pfx_ip_finish_output+0x10/0x10
May 07 10:49:00 fedora kernel:  __ip_queue_xmit+0x16d/0x460
May 07 10:49:00 fedora kernel:  __tcp_transmit_skb+0x923/0x9e0
May 07 10:49:00 fedora kernel:  tcp_v4_do_rcv+0x1b5/0x380
May 07 10:49:00 fedora kernel:  tcp_v4_rcv+0xb06/0x10b0
May 07 10:49:00 fedora kernel:  ? raw_v4_input+0xaa/0x2a0
May 07 10:49:00 fedora kernel:  ip_protocol_deliver_rcu+0x3e/0x1e0
May 07 10:49:00 fedora kernel:  ip_local_deliver_finish+0x85/0x100
May 07 10:49:00 fedora kernel:  ip_list_rcv_finish+0x2c1/0x2f0
May 07 10:49:00 fedora kernel:  ip_list_rcv+0x133/0x1a0
May 07 10:49:00 fedora kernel:  __netif_receive_skb_list_core+0x2d0/0x330
May 07 10:49:00 fedora kernel:  netif_receive_skb_list_internal+0x1cf/0x300
May 07 10:49:00 fedora kernel:  napi_complete_done+0x8c/0x230
May 07 10:49:00 fedora kernel:  iwl_pcie_napi_poll_msix+0xc4/0xf0 [iwlwifi]
May 07 10:49:00 fedora kernel:  __napi_poll+0xba/0x1f0
May 07 10:49:00 fedora kernel:  net_rx_action+0x34c/0x440
May 07 10:49:00 fedora kernel:  handle_softirqs+0xf1/0x340
May 07 10:49:00 fedora kernel:  ? __pfx_irq_thread+0x10/0x10
May 07 10:49:00 fedora kernel:  do_softirq.part.0+0x3b/0x60
May 07 10:49:00 fedora kernel:  </IRQ>
May 07 10:49:00 fedora kernel:  <TASK>
May 07 10:49:00 fedora kernel:  __local_bh_enable_ip+0x62/0x70
May 07 10:49:00 fedora kernel:  iwl_pcie_irq_rx_msix_handler+0xdc/0x150 [iwlwifi]
May 07 10:49:00 fedora kernel:  ? __pfx_irq_thread_fn+0x10/0x10
May 07 10:49:00 fedora kernel:  irq_thread_fn+0x25/0x60
May 07 10:49:00 fedora kernel:  irq_thread+0xc7/0x1d0
May 07 10:49:00 fedora kernel:  ? __pfx_irq_thread_dtor+0x10/0x10
May 07 10:49:00 fedora kernel:  kthread+0xfa/0x240
May 07 10:49:00 fedora kernel:  ? finish_task_switch.isra.0+0x82/0x2a0
May 07 10:49:00 fedora kernel:  ? __pfx_kthread+0x10/0x10
May 07 10:49:00 fedora kernel:  ? __pfx_kthread+0x10/0x10
May 07 10:49:00 fedora kernel:  ret_from_fork+0x130/0x1a0
May 07 10:49:00 fedora kernel:  ? __pfx_kthread+0x10/0x10
May 07 10:49:00 fedora kernel:  ret_from_fork_asm+0x1a/0x30
May 07 10:49:00 fedora kernel:  </TASK>
May 07 10:49:00 fedora kernel: watchdog: BUG: soft lockup - CPU#4 stuck for 22s! [Chrome_ChildIOT:5965]
May 07 10:49:00 fedora kernel: CPU#4 Utilization every 4000ms during lockup:
May 07 10:49:00 fedora kernel:         #1:  99% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #2:  99% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #3: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #4: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #5: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel: Modules linked in: uhid xt_connmark xt_conntrack xt_MASQUERADE xt_mark nft_compat overlay rfcomm snd_seq_dummy snd_hrtimer binfmt_misc tun uinput nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common qrtr snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib bnep snd_soc_dmic snd_hda_codec_generic snd_hda_intel snd_sof_pci_intel_mtl sunrpc snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_hda_ext_core snd_hda_codec snd_hda_core snd_intel_dspcfg snd_intel_sdw_acpi snd_soc_acpi_intel_match
May 07 10:49:00 fedora kernel:  snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils x86_pkg_temp_thermal snd_soc_acpi intel_powerclamp snd_hwdep coretemp crc8 soundwire_bus uvcvideo kvm_intel snd_soc_sdca uvc vfat iwlmld snd_soc_core videobuf2_vmalloc fat kvm snd_compress btusb videobuf2_memops btmtk mac80211 ac97_bus processor_thermal_device_pci videobuf2_v4l2 irqbypass btrtl libarc4 snd_pcm_dmaengine processor_thermal_device videobuf2_common snd_seq btbcm processor_thermal_wt_hint rapl videodev btintel mc snd_seq_device iTCO_wdt intel_cstate platform_temperature_control spi_nor processor_thermal_soc_slider snd_ctl_led iwlwifi bluetooth snd_pcm intel_uncore think_lmi processor_thermal_rfim mei_gsc_proxy intel_rapl_msr intel_pmc_bxt mtd intel_pmc_core iTCO_vendor_support thinkpad_acpi mei_wdt processor_thermal_rapl pmt_telemetry pcspkr idma64 intel_rapl_common firmware_attributes_class snd_timer platform_profile processor_thermal_wt_req pmt_discovery wmi_bmof mei_me snd cfg80211 processor_thermal_power_floor
May 07 10:49:00 fedora kernel:  pmt_class i2c_i801 int3400_thermal soc_button_array spi_intel_pci int3403_thermal joydev processor_thermal_mbox intel_hid mei rfkill soundcore intel_pmc_ssram_telemetry acpi_pad acpi_tad i2c_smbus acpi_thermal_rel spi_intel igen6_edac sparse_keymap int340x_thermal_zone nfnetlink zram lz4hc_compress lz4_compress xe drm_ttm_helper drm_suballoc_helper gpu_sched drm_gpuvm drm_exec drm_gpusvm_helper i915 ucsi_acpi typec_ucsi typec i2c_algo_bit nvme drm_buddy nvme_core hid_multitouch ttm nvme_keyring drm_display_helper nvme_auth i2c_hid_acpi thunderbolt video intel_vpu cec hkdf intel_vsec i2c_hid ghash_clmulni_intel wmi pinctrl_meteorlake serio_raw fuse i2c_dev
May 07 10:49:00 fedora kernel: CPU: 4 UID: 1000 PID: 5965 Comm: Chrome_ChildIOT Tainted: G             L      6.19.14-300.fc44.x86_64 #1 PREEMPT(lazy) 
May 07 10:49:00 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:49:00 fedora kernel: Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W (1.15 ) 02/25/2026
May 07 10:49:00 fedora kernel: RIP: 0010:native_queued_spin_lock_slowpath+0x251/0x300
May 07 10:49:00 fedora kernel: Code: 48 63 f6 48 05 00 de b4 8f 48 81 fe 00 20 00 00 0f 83 81 00 00 00 48 03 04 f5 e0 f0 3b 8e 48 89 10 8b 72 08 85 f6 75 09 f3 90 <8b> 42 08 85 c0 74 f7 48 8b 32 48 85 f6 74 07 0f 0d 0e eb 02 f3 90
May 07 10:49:00 fedora kernel: RSP: 0018:ffffd3aa4ee6f6f8 EFLAGS: 00000246
May 07 10:49:00 fedora kernel: RAX: 0000000000000000 RBX: ffff8aebf6a10000 RCX: ffff8aebd037f500
May 07 10:49:00 fedora kernel: RDX: ffff8afadfe33e00 RSI: 0000000000000000 RDI: 0000000000000008
May 07 10:49:00 fedora kernel: RBP: ffff8af0c24cd700 R08: 0000000000140000 R09: ffff8afb502e6000
May 07 10:49:00 fedora kernel: R10: 0000000000140000 R11: 0000000000000010 R12: ffff8aebd037f400
May 07 10:49:00 fedora kernel: R13: 0000000000000004 R14: 0000000000000000 R15: 000000000f2c1568
May 07 10:49:00 fedora kernel: FS:  00007f18e89fb6c0(0000) GS:ffff8afb502e6000(0000) knlGS:0000000000000000
May 07 10:49:00 fedora kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 07 10:49:00 fedora kernel: CR2: 00003f3402efc000 CR3: 00000004d4bc9004 CR4: 0000000000f72ef0
May 07 10:49:00 fedora kernel: PKRU: 55555554
May 07 10:49:00 fedora kernel: Call Trace:
May 07 10:49:00 fedora kernel:  <TASK>
May 07 10:49:00 fedora kernel:  _raw_spin_lock+0x29/0x30
May 07 10:49:00 fedora kernel:  __dev_queue_xmit+0x7c3/0x9f0
May 07 10:49:00 fedora kernel:  ? selinux_ip_postroute+0x23d/0x5e0
May 07 10:49:00 fedora kernel:  ? ip_skb_dst_mtu+0x12c/0x1b0
May 07 10:49:00 fedora kernel:  ip_finish_output2+0x241/0x5f0
May 07 10:49:00 fedora kernel:  ? __ip_finish_output+0x46/0x170
May 07 10:49:00 fedora kernel:  ? nf_hook_slow+0x47/0x100
May 07 10:49:00 fedora kernel:  ip_output+0x63/0x110
May 07 10:49:00 fedora kernel:  ? __pfx_ip_finish_output+0x10/0x10
May 07 10:49:00 fedora kernel:  ip_send_skb+0x89/0xa0
May 07 10:49:00 fedora kernel:  udp_send_skb+0x1a7/0x3c0
May 07 10:49:00 fedora kernel:  ? udp_sendmsg+0xb4b/0xfe0
May 07 10:49:00 fedora kernel:  ? udp_sendmsg+0xb4b/0xfe0
May 07 10:49:00 fedora kernel:  udp_sendmsg+0xb6f/0xfe0
May 07 10:49:00 fedora kernel:  ? __pfx_ip_generic_getfrag+0x10/0x10
May 07 10:49:00 fedora kernel:  __sys_sendto+0x229/0x240
May 07 10:49:00 fedora kernel:  __x64_sys_sendto+0x24/0x30
May 07 10:49:00 fedora kernel:  do_syscall_64+0x7e/0x6e0
May 07 10:49:00 fedora kernel:  ? __alloc_frozen_pages_noprof+0x1a0/0x370
May 07 10:49:00 fedora kernel:  ? count_memcg_events+0xd6/0x210
May 07 10:49:00 fedora kernel:  ? memcg1_commit_charge+0x78/0xa0
May 07 10:49:00 fedora kernel:  ? mod_memcg_lruvec_state+0xe7/0x2d0
May 07 10:49:00 fedora kernel:  ? charge_memcg+0x41/0x80
May 07 10:49:00 fedora kernel:  ? lruvec_stat_mod_folio+0x85/0xd0
May 07 10:49:00 fedora kernel:  ? __folio_mod_stat+0x2d/0x90
May 07 10:49:00 fedora kernel:  ? do_anonymous_page+0x374/0x5d0
May 07 10:49:00 fedora kernel:  ? __handle_mm_fault+0x47c/0x6f0
May 07 10:49:00 fedora kernel:  ? count_memcg_events+0xd6/0x210
May 07 10:49:00 fedora kernel:  ? handle_mm_fault+0x248/0x330
May 07 10:49:00 fedora kernel:  ? do_user_addr_fault+0x2cd/0x830
May 07 10:49:00 fedora kernel:  ? irqentry_exit+0x7b/0x560
May 07 10:49:00 fedora kernel:  ? exc_page_fault+0x8f/0x1d0
May 07 10:49:00 fedora kernel:  entry_SYSCALL_64_after_hwframe+0x76/0x7e
May 07 10:49:00 fedora kernel: RIP: 0033:0x7f18fc7f3e32
May 07 10:49:00 fedora kernel: Code: 08 0f 85 91 41 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 55 bf 01 00
May 07 10:49:00 fedora kernel: RSP: 002b:00007f18e89f61e8 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
May 07 10:49:00 fedora kernel: RAX: ffffffffffffffda RBX: 00000000000004e2 RCX: 00007f18fc7f3e32
May 07 10:49:00 fedora kernel: RDX: 00000000000004e2 RSI: 00003f3400114600 RDI: 0000000000000033
May 07 10:49:00 fedora kernel: RBP: 00007f18e89f6210 R08: 0000000000000000 R09: 0000000000000000
May 07 10:49:00 fedora kernel: R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
May 07 10:49:00 fedora kernel: R13: 00000000000004e2 R14: 00003f3401658240 R15: 00003f34028f6bc0
May 07 10:49:00 fedora kernel:  </TASK>
May 07 10:49:00 fedora kernel: watchdog: BUG: soft lockup - CPU#6 stuck for 22s! [Chrome_ChildIOT:48803]
May 07 10:49:00 fedora kernel: CPU#6 Utilization every 4000ms during lockup:
May 07 10:49:00 fedora kernel:         #1:  99% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #2: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #3:  99% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #4: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #5: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel: Modules linked in: uhid xt_connmark xt_conntrack xt_MASQUERADE xt_mark nft_compat overlay rfcomm snd_seq_dummy snd_hrtimer binfmt_misc tun uinput nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common qrtr snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib bnep snd_soc_dmic snd_hda_codec_generic snd_hda_intel snd_sof_pci_intel_mtl sunrpc snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_hda_ext_core snd_hda_codec snd_hda_core snd_intel_dspcfg snd_intel_sdw_acpi snd_soc_acpi_intel_match
May 07 10:49:00 fedora kernel:  snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils x86_pkg_temp_thermal snd_soc_acpi intel_powerclamp snd_hwdep coretemp crc8 soundwire_bus uvcvideo kvm_intel snd_soc_sdca uvc vfat iwlmld snd_soc_core videobuf2_vmalloc fat kvm snd_compress btusb videobuf2_memops btmtk mac80211 ac97_bus processor_thermal_device_pci videobuf2_v4l2 irqbypass btrtl libarc4 snd_pcm_dmaengine processor_thermal_device videobuf2_common snd_seq btbcm processor_thermal_wt_hint rapl videodev btintel mc snd_seq_device iTCO_wdt intel_cstate platform_temperature_control spi_nor processor_thermal_soc_slider snd_ctl_led iwlwifi bluetooth snd_pcm intel_uncore think_lmi processor_thermal_rfim mei_gsc_proxy intel_rapl_msr intel_pmc_bxt mtd intel_pmc_core iTCO_vendor_support thinkpad_acpi mei_wdt processor_thermal_rapl pmt_telemetry pcspkr idma64 intel_rapl_common firmware_attributes_class snd_timer platform_profile processor_thermal_wt_req pmt_discovery wmi_bmof mei_me snd cfg80211 processor_thermal_power_floor
May 07 10:49:00 fedora kernel:  pmt_class i2c_i801 int3400_thermal soc_button_array spi_intel_pci int3403_thermal joydev processor_thermal_mbox intel_hid mei rfkill soundcore intel_pmc_ssram_telemetry acpi_pad acpi_tad i2c_smbus acpi_thermal_rel spi_intel igen6_edac sparse_keymap int340x_thermal_zone nfnetlink zram lz4hc_compress lz4_compress xe drm_ttm_helper drm_suballoc_helper gpu_sched drm_gpuvm drm_exec drm_gpusvm_helper i915 ucsi_acpi typec_ucsi typec i2c_algo_bit nvme drm_buddy nvme_core hid_multitouch ttm nvme_keyring drm_display_helper nvme_auth i2c_hid_acpi thunderbolt video intel_vpu cec hkdf intel_vsec i2c_hid ghash_clmulni_intel wmi pinctrl_meteorlake serio_raw fuse i2c_dev
May 07 10:49:00 fedora kernel: CPU: 6 UID: 1000 PID: 48803 Comm: Chrome_ChildIOT Tainted: G             L      6.19.14-300.fc44.x86_64 #1 PREEMPT(lazy) 
May 07 10:49:00 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:49:00 fedora kernel: Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W (1.15 ) 02/25/2026
May 07 10:49:00 fedora kernel: RIP: 0010:native_queued_spin_lock_slowpath+0x251/0x300
May 07 10:49:00 fedora kernel: Code: 48 63 f6 48 05 00 de b4 8f 48 81 fe 00 20 00 00 0f 83 81 00 00 00 48 03 04 f5 e0 f0 3b 8e 48 89 10 8b 72 08 85 f6 75 09 f3 90 <8b> 42 08 85 c0 74 f7 48 8b 32 48 85 f6 74 07 0f 0d 0e eb 02 f3 90
May 07 10:49:00 fedora kernel: RSP: 0018:ffffd3aa67d237e8 EFLAGS: 00000246
May 07 10:49:00 fedora kernel: RAX: 0000000000000000 RBX: ffff8aebf6a10000 RCX: ffff8aebd037f500
May 07 10:49:00 fedora kernel: RDX: ffff8afadff33e00 RSI: 0000000000000000 RDI: 0000000000000005
May 07 10:49:00 fedora kernel: RBP: ffff8af5955e5300 R08: 00000000001c0000 R09: ffff8afb503e6000
May 07 10:49:00 fedora kernel: R10: 00000000001c0000 R11: 0000000000000010 R12: ffff8aebd037f400
May 07 10:49:00 fedora kernel: R13: 0000000000000006 R14: 0000000000000000 R15: 00000000b2466328
May 07 10:49:00 fedora kernel: FS:  00007fa358bfc6c0(0000) GS:ffff8afb503e6000(0000) knlGS:0000000000000000
May 07 10:49:00 fedora kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 07 10:49:00 fedora kernel: CR2: 00003a3501c85000 CR3: 00000005e8fb0001 CR4: 0000000000f72ef0
May 07 10:49:00 fedora kernel: PKRU: 55555554
May 07 10:49:00 fedora kernel: Call Trace:
May 07 10:49:00 fedora kernel:  <TASK>
May 07 10:49:00 fedora kernel:  _raw_spin_lock+0x29/0x30
May 07 10:49:00 fedora kernel:  __dev_queue_xmit+0x7c3/0x9f0
May 07 10:49:00 fedora kernel:  ? selinux_ip_postroute+0x23d/0x5e0
May 07 10:49:00 fedora kernel:  ? ip_skb_dst_mtu+0x12c/0x1b0
May 07 10:49:00 fedora kernel:  ip_finish_output2+0x241/0x5f0
May 07 10:49:00 fedora kernel:  ? __ip_finish_output+0x46/0x170
May 07 10:49:00 fedora kernel:  ? nf_hook_slow+0x47/0x100
May 07 10:49:00 fedora kernel:  ip_output+0x63/0x110
May 07 10:49:00 fedora kernel:  ? __pfx_ip_finish_output+0x10/0x10
May 07 10:49:00 fedora kernel:  ip_send_skb+0x89/0xa0
May 07 10:49:00 fedora kernel:  udp_send_skb+0x1a7/0x3c0
May 07 10:49:00 fedora kernel:  ? udp_sendmsg+0xb4b/0xfe0
May 07 10:49:00 fedora kernel:  ? udp_sendmsg+0xb4b/0xfe0
May 07 10:49:00 fedora kernel:  udp_sendmsg+0xb6f/0xfe0
May 07 10:49:00 fedora kernel:  ? __pfx_ip_generic_getfrag+0x10/0x10
May 07 10:49:00 fedora kernel:  __sys_sendto+0x229/0x240
May 07 10:49:00 fedora kernel:  __x64_sys_sendto+0x24/0x30
May 07 10:49:00 fedora kernel:  do_syscall_64+0x7e/0x6e0
May 07 10:49:00 fedora kernel:  ? switch_fpu_return+0x59/0xf0
May 07 10:49:00 fedora kernel:  ? arch_exit_to_user_mode_prepare.isra.0+0x9f/0xc0
May 07 10:49:00 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:49:00 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:49:00 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:49:00 fedora kernel:  ? vfs_read+0x34d/0x490
May 07 10:49:00 fedora kernel:  ? ksys_read+0xdd/0x110
May 07 10:49:00 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:49:00 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:49:00 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:49:00 fedora kernel:  ? irqentry_exit+0x7b/0x560
May 07 10:49:00 fedora kernel:  ? exc_page_fault+0x8f/0x1d0
May 07 10:49:00 fedora kernel:  entry_SYSCALL_64_after_hwframe+0x76/0x7e
May 07 10:49:00 fedora kernel: RIP: 0033:0x7fa35cdccbe2
May 07 10:49:00 fedora kernel: Code: 08 0f 85 c1 40 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> 66 2e 0f 1f 84 00 00 00 00 00 66 2e 0f 1f 84 00 00 00 00 00 66
May 07 10:49:00 fedora kernel: RSP: 002b:00007fa358bf9bd8 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
May 07 10:49:00 fedora kernel: RAX: ffffffffffffffda RBX: 0000000000000023 RCX: 00007fa35cdccbe2
May 07 10:49:00 fedora kernel: RDX: 0000000000000023 RSI: 0000111400864c00 RDI: 0000000000000029
May 07 10:49:00 fedora kernel: RBP: 00007fa358bf9c00 R08: 0000000000000000 R09: 0000000000000000
May 07 10:49:00 fedora kernel: R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
May 07 10:49:00 fedora kernel: R13: 0000000000000023 R14: 0000111400271640 R15: 0000111401d603c0
May 07 10:49:00 fedora kernel:  </TASK>
May 07 10:49:00 fedora kernel: watchdog: BUG: soft lockup - CPU#13 stuck for 27s! [nheko:5061]
May 07 10:49:00 fedora kernel: CPU#13 Utilization every 4000ms during lockup:
May 07 10:49:00 fedora kernel:         #1: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #2:  99% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #3: 100% system,          0% softirq,          2% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #4: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel:         #5: 100% system,          0% softirq,          1% hardirq,          0% idle
May 07 10:49:00 fedora kernel: Modules linked in: uhid xt_connmark xt_conntrack xt_MASQUERADE xt_mark nft_compat overlay rfcomm snd_seq_dummy snd_hrtimer binfmt_misc tun uinput nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common qrtr snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib bnep snd_soc_dmic snd_hda_codec_generic snd_hda_intel snd_sof_pci_intel_mtl sunrpc snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_hda_ext_core snd_hda_codec snd_hda_core snd_intel_dspcfg snd_intel_sdw_acpi snd_soc_acpi_intel_match
May 07 10:49:00 fedora kernel:  snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils x86_pkg_temp_thermal snd_soc_acpi intel_powerclamp snd_hwdep coretemp crc8 soundwire_bus uvcvideo kvm_intel snd_soc_sdca uvc vfat iwlmld snd_soc_core videobuf2_vmalloc fat kvm snd_compress btusb videobuf2_memops btmtk mac80211 ac97_bus processor_thermal_device_pci videobuf2_v4l2 irqbypass btrtl libarc4 snd_pcm_dmaengine processor_thermal_device videobuf2_common snd_seq btbcm processor_thermal_wt_hint rapl videodev btintel mc snd_seq_device iTCO_wdt intel_cstate platform_temperature_control spi_nor processor_thermal_soc_slider snd_ctl_led iwlwifi bluetooth snd_pcm intel_uncore think_lmi processor_thermal_rfim mei_gsc_proxy intel_rapl_msr intel_pmc_bxt mtd intel_pmc_core iTCO_vendor_support thinkpad_acpi mei_wdt processor_thermal_rapl pmt_telemetry pcspkr idma64 intel_rapl_common firmware_attributes_class snd_timer platform_profile processor_thermal_wt_req pmt_discovery wmi_bmof mei_me snd cfg80211 processor_thermal_power_floor
May 07 10:49:00 fedora kernel:  pmt_class i2c_i801 int3400_thermal soc_button_array spi_intel_pci int3403_thermal joydev processor_thermal_mbox intel_hid mei rfkill soundcore intel_pmc_ssram_telemetry acpi_pad acpi_tad i2c_smbus acpi_thermal_rel spi_intel igen6_edac sparse_keymap int340x_thermal_zone nfnetlink zram lz4hc_compress lz4_compress xe drm_ttm_helper drm_suballoc_helper gpu_sched drm_gpuvm drm_exec drm_gpusvm_helper i915 ucsi_acpi typec_ucsi typec i2c_algo_bit nvme drm_buddy nvme_core hid_multitouch ttm nvme_keyring drm_display_helper nvme_auth i2c_hid_acpi thunderbolt video intel_vpu cec hkdf intel_vsec i2c_hid ghash_clmulni_intel wmi pinctrl_meteorlake serio_raw fuse i2c_dev
May 07 10:49:00 fedora kernel: CPU: 13 UID: 1000 PID: 5061 Comm: nheko Tainted: G             L      6.19.14-300.fc44.x86_64 #1 PREEMPT(lazy) 
May 07 10:49:00 fedora kernel: Tainted: [L]=SOFTLOCKUP
May 07 10:49:00 fedora kernel: Hardware name: LENOVO 21NXCTO1WW/21NXCTO1WW, BIOS N4MET28W (1.15 ) 02/25/2026
May 07 10:49:00 fedora kernel: RIP: 0010:native_queued_spin_lock_slowpath+0x251/0x300
May 07 10:49:00 fedora kernel: Code: 48 63 f6 48 05 00 de b4 8f 48 81 fe 00 20 00 00 0f 83 81 00 00 00 48 03 04 f5 e0 f0 3b 8e 48 89 10 8b 72 08 85 f6 75 09 f3 90 <8b> 42 08 85 c0 74 f7 48 8b 32 48 85 f6 74 07 0f 0d 0e eb 02 f3 90
May 07 10:49:00 fedora kernel: RSP: 0018:ffffd3aa644df598 EFLAGS: 00000246
May 07 10:49:00 fedora kernel: RAX: 0000000000000000 RBX: ffff8aebf6a10000 RCX: ffff8aebd037f500
May 07 10:49:00 fedora kernel: RDX: ffff8afae02b3e00 RSI: 0000000000000000 RDI: 0000000000000006
May 07 10:49:00 fedora kernel: RBP: ffff8aefdce184e8 R08: 0000000000380000 R09: ffff8afb50766000
May 07 10:49:00 fedora kernel: R10: 0000000000380000 R11: 0000000000000010 R12: ffff8aebd037f400
May 07 10:49:00 fedora kernel: R13: 000000000000000d R14: 0000000000000000 R15: 0000000000000000
May 07 10:49:00 fedora kernel: FS:  00007f327bfff6c0(0000) GS:ffff8afb50766000(0000) knlGS:0000000000000000
May 07 10:49:00 fedora kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 07 10:49:00 fedora kernel: CR2: 000020de01150000 CR3: 000000021395f006 CR4: 0000000000f72ef0
May 07 10:49:00 fedora kernel: PKRU: 55555554
May 07 10:49:00 fedora kernel: Call Trace:
May 07 10:49:00 fedora kernel:  <TASK>
May 07 10:49:00 fedora kernel:  _raw_spin_lock+0x29/0x30
May 07 10:49:00 fedora kernel:  __dev_queue_xmit+0x7c3/0x9f0
May 07 10:49:00 fedora kernel:  ? selinux_ip_postroute+0x23d/0x5e0
May 07 10:49:00 fedora kernel:  ? ip_skb_dst_mtu+0x12c/0x1b0
May 07 10:49:00 fedora kernel:  ip_finish_output2+0x241/0x5f0
May 07 10:49:00 fedora kernel:  ? __ip_finish_output+0x46/0x170
May 07 10:49:00 fedora kernel:  ip_output+0x63/0x110
May 07 10:49:00 fedora kernel:  ? __pfx_ip_finish_output+0x10/0x10
May 07 10:49:00 fedora kernel:  __ip_queue_xmit+0x16d/0x460
May 07 10:49:00 fedora kernel:  __tcp_transmit_skb+0x923/0x9e0
May 07 10:49:00 fedora kernel:  tcp_write_xmit+0x538/0xb70
May 07 10:49:00 fedora kernel:  ? __check_object_size+0x6f/0xd0
May 07 10:49:00 fedora kernel:  __tcp_push_pending_frames+0x37/0x110
May 07 10:49:00 fedora kernel:  tcp_sendmsg_locked+0x5c9/0x1270
May 07 10:49:00 fedora kernel:  tcp_sendmsg+0x2f/0x50
May 07 10:49:00 fedora kernel:  __sys_sendto+0x229/0x240
May 07 10:49:00 fedora kernel:  __x64_sys_sendto+0x24/0x30
May 07 10:49:00 fedora kernel:  do_syscall_64+0x7e/0x6e0
May 07 10:49:00 fedora kernel:  ? ep_poll+0x149/0x450
May 07 10:49:00 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:49:00 fedora kernel:  ? do_epoll_wait+0x9d/0xb0
May 07 10:49:00 fedora kernel:  ? __x64_sys_epoll_wait+0x70/0x120
May 07 10:49:00 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:49:00 fedora kernel:  ? eventfd_read+0xf7/0x2b0
May 07 10:49:00 fedora kernel:  ? security_file_permission+0x50/0xf0
May 07 10:49:00 fedora kernel:  ? vfs_read+0x34d/0x490
May 07 10:49:00 fedora kernel:  ? ksys_read+0xdd/0x110
May 07 10:49:00 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:49:00 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:49:00 fedora kernel:  ? do_syscall_64+0xbb/0x6e0
May 07 10:49:00 fedora kernel:  ? sched_balance_domains+0xe0/0x390
May 07 10:49:00 fedora kernel:  ? sched_clock+0x10/0x30
May 07 10:49:00 fedora kernel:  ? sched_clock_cpu+0xf/0x230
May 07 10:49:00 fedora kernel:  ? irqtime_account_irq+0x3c/0xc0
May 07 10:49:00 fedora kernel:  ? handle_softirqs+0x1ae/0x340
May 07 10:49:00 fedora kernel:  ? sched_clock+0x10/0x30
May 07 10:49:00 fedora kernel:  ? irqentry_exit+0x7b/0x560
May 07 10:49:00 fedora kernel:  ? __irq_exit_rcu+0x4c/0xf0
May 07 10:49:00 fedora kernel:  entry_SYSCALL_64_after_hwframe+0x76/0x7e
May 07 10:49:00 fedora kernel: RIP: 0033:0x7f32e3c80e32
May 07 10:49:00 fedora kernel: Code: 08 0f 85 91 41 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 55 bf 01 00
May 07 10:49:00 fedora kernel: RSP: 002b:00007f327bff9558 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
May 07 10:49:00 fedora kernel: RAX: ffffffffffffffda RBX: 00007f2a4017e380 RCX: 00007f32e3c80e32
May 07 10:49:00 fedora kernel: RDX: 000000000000005f RSI: 00007f2a401bd173 RDI: 000000000000003f
May 07 10:49:00 fedora kernel: RBP: 00007f327bff9580 R08: 0000000000000000 R09: 0000000000000000
May 07 10:49:00 fedora kernel: R10: 0000000000004000 R11: 0000000000000246 R12: 000055d1f45c15f0
May 07 10:49:00 fedora kernel: R13: 000000000000005f R14: 000000000000003f R15: 00007f327bff9740
May 07 10:49:00 fedora kernel:  </TASK>
May 07 10:49:00 fedora kernel: usb 3-10: USB disconnect, device number 4
May 07 10:49:00 fedora kernel: iwlwifi 0000:00:14.3: HCMD_ACTIVE already clear for command SYSTEM_STATISTICS_CMD
May 07 10:49:00 fedora kernel: usb 3-10: new full-speed USB device number 5 using xhci_hcd
May 07 10:49:00 fedora kernel: usb 3-10: New USB device found, idVendor=8087, idProduct=0037, bcdDevice= 0.00
May 07 10:49:00 fedora kernel: usb 3-10: New USB device strings: Mfr=0, Product=0, SerialNumber=0
May 07 10:49:00 fedora kernel: Bluetooth: hci0: Device revision is 0
May 07 10:49:00 fedora kernel: Bluetooth: hci0: Secure boot is enabled
May 07 10:49:00 fedora kernel: Bluetooth: hci0: OTP lock is disabled
May 07 10:49:00 fedora kernel: Bluetooth: hci0: API lock is enabled
May 07 10:49:00 fedora kernel: Bluetooth: hci0: Debug lock is disabled
May 07 10:49:00 fedora kernel: Bluetooth: hci0: Minimum firmware build 1 week 10 2014
May 07 10:49:00 fedora kernel: Bluetooth: hci0: Bootloader timestamp 2022.18 buildtype 1 build 16362
May 07 10:49:00 fedora kernel: Bluetooth: hci0: DSM reset method type: 0x00
May 07 10:49:00 fedora kernel: Bluetooth: hci0: Found device firmware: intel/ibt-0093-0291.sfi
May 07 10:49:00 fedora kernel: Bluetooth: hci0: Boot Address: 0x100800
May 07 10:49:00 fedora kernel: Bluetooth: hci0: Firmware Version: 125-8.26
May 07 10:49:00 fedora kernel: iwlwifi 0000:00:14.3: restart completed
May 07 10:49:02 fedora kernel: Bluetooth: hci0: Waiting for firmware download to complete
May 07 10:49:02 fedora kernel: Bluetooth: hci0: Firmware loaded in 1840110 usecs
May 07 10:49:02 fedora kernel: Bluetooth: hci0: Waiting for device to boot
May 07 10:49:02 fedora kernel: Bluetooth: hci0: Device booted in 52623 usecs
May 07 10:49:02 fedora kernel: Bluetooth: hci0: dsbr: enable: 0x01 value: 0x0f
May 07 10:49:02 fedora kernel: Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-0093-0291.ddc
May 07 10:49:02 fedora kernel: Bluetooth: hci0: Applying Intel DDC parameters completed
May 07 10:49:02 fedora kernel: Bluetooth: hci0: Firmware timestamp 2026.8 buildtype 1 build 105597
May 07 10:49:02 fedora kernel: Bluetooth: hci0: Firmware SHA1: 0x08f159a0
May 07 10:49:02 fedora kernel: Bluetooth: hci0: Fseq status: Success (0x00)
May 07 10:49:02 fedora kernel: Bluetooth: hci0: Fseq executed: 00.00.04.202
May 07 10:49:02 fedora kernel: Bluetooth: hci0: Fseq BT Top: 00.00.04.202
May 07 10:49:02 fedora kernel: Bluetooth: MGMT ver 1.23
May 07 10:49:02 fedora kernel: input: fedora (MCS) as /devices/virtual/input/input27
May 07 10:49:03 fedora kernel: input: MX Anywhere 2 Keyboard as /devices/virtual/misc/uhid/0005:046D:B013.0003/input/input28
May 07 10:49:03 fedora kernel: input: MX Anywhere 2 Mouse as /devices/virtual/misc/uhid/0005:046D:B013.0003/input/input29
May 07 10:49:03 fedora kernel: hid-generic 0005:046D:B013.0003: input,hidraw1: BLUETOOTH HID v0.07 Keyboard [MX Anywhere 2] on e8:bf:e1:8f:34:ea

^ permalink raw reply

* Re: [PATCH net-next v2 1/2] net: Consistently define pci_device_ids using named initializers
From: Marc Kleine-Budde @ 2026-05-07 10:55 UTC (permalink / raw)
  To: Uwe Kleine-König (The Capable Hub)
  Cc: Michael Grzeschik, Andrew Lunn, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Vincent Mailhol, Krzysztof Halasa,
	Johannes Berg, Steffen Klassert, David Dillow, Ion Badulescu,
	Mark Einon, Rasesh Mody, GR-Linux-NIC-Dev, Manish Chopra,
	Potnuri Bharat Teja, Denis Kirjanov, Jijie Shao, Jian Shen,
	Cai Huoqing, Fan Gong, Tony Nguyen, Przemek Kitszel, Tariq Toukan,
	Saeed Mahameed, Leon Romanovsky, Mark Bloch, Ido Schimmel,
	Petr Machata, Yibo Dong, Heiner Kallweit, nic_swsd, Jiri Pirko,
	Francois Romieu, Daniele Venzano, Samuel Chessman, Jiawen Wu,
	Mengyuan Lou, Kevin Curtis, Arend van Spriel, Stanislav Yakovlev,
	Richard Cochran, Kees Cook, Aleksandr Loktionov, Thomas Gleixner,
	Jacob Keller, Thomas Fourier, Ingo Molnar, Kory Maincent,
	Zilin Guan, Vadim Fedorenko, Marco Crivellari, Bjorn Helgaas,
	David Arinzon, Yeounsu Moon, Denis Benato, Yonglong Liu,
	Andy Shevchenko, Randy Dunlap, Yicong Hui, MD Danish Anwar,
	Nathan Chancellor, Ethan Nelson-Moore, Larysa Zaremba, Ian Lin,
	Colin Ian King, Double Lo, Markus Schneider-Pargmann,
	Simon Horman, netdev, linux-kernel, linux-can, linux-parisc,
	intel-wired-lan, linux-rdma, oss-drivers, linux-wireless,
	brcm80211, brcm80211-dev-list.pdl
In-Reply-To: <76da4f44d48bdde84580963862bf9616bee5c9e9.1778149923.git.u.kleine-koenig@baylibre.com>

[-- Attachment #1: Type: text/plain, Size: 8075 bytes --]

> diff --git a/drivers/net/can/sja1000/plx_pci.c b/drivers/net/can/sja1000/plx_pci.c
> index 08183833c9bc..a03553b80a5d 100644
> --- a/drivers/net/can/sja1000/plx_pci.c
> +++ b/drivers/net/can/sja1000/plx_pci.c
> @@ -272,124 +272,89 @@ static struct plx_pci_card_info plx_pci_card_info_asem_dual_can = {
>  static const struct pci_device_id plx_pci_tbl[] = {
>  	{
>  		/* Adlink PCI-7841/cPCI-7841 */
> -		ADLINK_PCI_VENDOR_ID, ADLINK_PCI_DEVICE_ID,
> -		PCI_ANY_ID, PCI_ANY_ID,
> -		PCI_CLASS_NETWORK_OTHER << 8, ~0,
> -		(kernel_ulong_t)&plx_pci_card_info_adlink
> -	},
> -	{
> +		PCI_DEVICE(ADLINK_PCI_VENDOR_ID, ADLINK_PCI_DEVICE_ID),
> +		.class = PCI_CLASS_NETWORK_OTHER << 8,
> +		.class_mask = ~0,
> +		.driver_data = (kernel_ulong_t)&plx_pci_card_info_adlink,
> +	}, {
>  		/* Adlink PCI-7841/cPCI-7841 SE */
> -		ADLINK_PCI_VENDOR_ID, ADLINK_PCI_DEVICE_ID,
> -		PCI_ANY_ID, PCI_ANY_ID,
> -		PCI_CLASS_COMMUNICATION_OTHER << 8, ~0,
> -		(kernel_ulong_t)&plx_pci_card_info_adlink_se
> -	},
> -	{
> +		PCI_DEVICE(ADLINK_PCI_VENDOR_ID, ADLINK_PCI_DEVICE_ID),
> +		.class = PCI_CLASS_COMMUNICATION_OTHER << 8,
> +		.class_mask = ~0,
> +		.driver_data = (kernel_ulong_t)&plx_pci_card_info_adlink_se,
> +	}, {
>  		/* esd CAN-PCI/200 */
> -		PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050,
> -		PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCI200,
> -		0, 0,
> -		(kernel_ulong_t)&plx_pci_card_info_esd200
> -	},
> -	{
> +		PCI_VDEVICE_SUB(PLX, PCI_DEVICE_ID_PLX_9050,
> +				PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCI200),
> +		.driver_data = (kernel_ulong_t)&plx_pci_card_info_esd200,
> +	}, {
>  		/* esd CAN-CPCI/200 */
> -		PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9030,
> -		PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_CPCI200,
> -		0, 0,
> -		(kernel_ulong_t)&plx_pci_card_info_esd200
> -	},
> -	{
> +		PCI_VDEVICE_SUB(PLX, PCI_DEVICE_ID_PLX_9030,
> +				PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_CPCI200),
> +		.driver_data = (kernel_ulong_t)&plx_pci_card_info_esd200,
> +	}, {
>  		/* esd CAN-PCI104/200 */
> -		PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9030,
> -		PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCI104200,
> -		0, 0,
> -		(kernel_ulong_t)&plx_pci_card_info_esd200
> -	},
> -	{
> +		PCI_VDEVICE_SUB(PLX, PCI_DEVICE_ID_PLX_9030,
> +				PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCI104200),
> +		.driver_data = (kernel_ulong_t)&plx_pci_card_info_esd200,
> +	}, {
>  		/* esd CAN-PCI/266 */
> -		PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9056,
> -		PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCI266,
> -		0, 0,
> -		(kernel_ulong_t)&plx_pci_card_info_esd266
> -	},
> -	{
> +		PCI_VDEVICE_SUB(PLX, PCI_DEVICE_ID_PLX_9056,
> +				PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCI266),
> +		.driver_data = (kernel_ulong_t)&plx_pci_card_info_esd266,
> +	}, {
>  		/* esd CAN-PMC/266 */
> -		PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9056,
> -		PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PMC266,
> -		0, 0,
> -		(kernel_ulong_t)&plx_pci_card_info_esd266
> -	},
> -	{
> +		PCI_VDEVICE_SUB(PLX, PCI_DEVICE_ID_PLX_9056,
> +				PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PMC266),
> +		.driver_data = (kernel_ulong_t)&plx_pci_card_info_esd266,
> +	}, {
>  		/* esd CAN-PCIE/2000 */
> -		PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9056,
> -		PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCIE2000,
> -		0, 0,
> -		(kernel_ulong_t)&plx_pci_card_info_esd2000
> -	},
> -	{
> +		PCI_VDEVICE_SUB(PLX, PCI_DEVICE_ID_PLX_9056,
> +				PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCIE2000),
> +		.driver_data = (kernel_ulong_t)&plx_pci_card_info_esd2000,
> +	}, {
>  		/* IXXAT PC-I 04/PCI card */
> -		IXXAT_PCI_VENDOR_ID, IXXAT_PCI_DEVICE_ID,
> -		PCI_ANY_ID, IXXAT_PCI_SUB_SYS_ID,
> -		0, 0,
> -		(kernel_ulong_t)&plx_pci_card_info_ixxat
> -	},
> -	{
> +		PCI_DEVICE_SUB(IXXAT_PCI_VENDOR_ID, IXXAT_PCI_DEVICE_ID,
> +			       PCI_ANY_ID, IXXAT_PCI_SUB_SYS_ID),
> +		.driver_data = (kernel_ulong_t)&plx_pci_card_info_ixxat,
> +	}, {
>  		/* Marathon CAN-bus-PCI card */
> -		PCI_VENDOR_ID_PLX, MARATHON_PCI_DEVICE_ID,
> -		PCI_ANY_ID, PCI_ANY_ID,
> -		0, 0,
> -		(kernel_ulong_t)&plx_pci_card_info_marathon_pci
> -	},
> -	{
> +		PCI_VDEVICE(PLX, MARATHON_PCI_DEVICE_ID),
> +		.driver_data = (kernel_ulong_t)&plx_pci_card_info_marathon_pci,
> +	}, {
>  		/* Marathon CAN-bus-PCIe card */
> -		PCI_VENDOR_ID_PLX, MARATHON_PCIE_DEVICE_ID,
> -		PCI_ANY_ID, PCI_ANY_ID,
> -		0, 0,
> -		(kernel_ulong_t)&plx_pci_card_info_marathon_pcie
> -	},
> -	{
> +		PCI_VDEVICE(PLX, MARATHON_PCIE_DEVICE_ID),
> +		.driver_data = (kernel_ulong_t)&plx_pci_card_info_marathon_pcie,
> +	}, {
>  		/* TEWS TECHNOLOGIES TPMC810 card */
> -		TEWS_PCI_VENDOR_ID, TEWS_PCI_DEVICE_ID_TMPC810,
> -		PCI_ANY_ID, PCI_ANY_ID,
> -		0, 0,
> -		(kernel_ulong_t)&plx_pci_card_info_tews
> -	},
> -	{
> +		PCI_DEVICE(TEWS_PCI_VENDOR_ID, TEWS_PCI_DEVICE_ID_TMPC810),
> +		.driver_data = (kernel_ulong_t)&plx_pci_card_info_tews,
> +	}, {
>  		/* Connect Tech Inc. CANpro/104-Plus Opto (CRG001) card */
> -		PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9030,
> -		PCI_SUBVENDOR_ID_CONNECT_TECH, CTI_PCI_DEVICE_ID_CRG001,
> -		0, 0,
> -		(kernel_ulong_t)&plx_pci_card_info_cti
> -	},
> -	{
> +		PCI_VDEVICE_SUB(PLX, PCI_DEVICE_ID_PLX_9030,
> +				PCI_SUBVENDOR_ID_CONNECT_TECH, CTI_PCI_DEVICE_ID_CRG001),
> +		.driver_data = (kernel_ulong_t)&plx_pci_card_info_cti,
> +	}, {
>  		/* Elcus CAN-200-PCI */
> -		CAN200PCI_VENDOR_ID, CAN200PCI_DEVICE_ID,
> -		CAN200PCI_SUB_VENDOR_ID, CAN200PCI_SUB_DEVICE_ID,
> -		0, 0,
> -		(kernel_ulong_t)&plx_pci_card_info_elcus
> -	},
> -	{
> +		PCI_DEVICE_SUB(CAN200PCI_VENDOR_ID, CAN200PCI_DEVICE_ID,
> +			       CAN200PCI_SUB_VENDOR_ID, CAN200PCI_SUB_DEVICE_ID),
> +		.driver_data = (kernel_ulong_t)&plx_pci_card_info_elcus,
> +	}, {
>  		/* moxa */
> -		MOXA_PCI_VENDOR_ID, MOXA_PCI_DEVICE_ID,
> -		PCI_ANY_ID, PCI_ANY_ID,
> -		0, 0,
> -		(kernel_ulong_t)&plx_pci_card_info_moxa
> -	},
> -	{
> +		PCI_DEVICE(MOXA_PCI_VENDOR_ID, MOXA_PCI_DEVICE_ID),
> +		.driver_data = (kernel_ulong_t)&plx_pci_card_info_moxa,
> +	}, {
>  		/* ASEM Dual CAN raw */
> -		ASEM_RAW_CAN_VENDOR_ID, ASEM_RAW_CAN_DEVICE_ID,
> -		ASEM_RAW_CAN_SUB_VENDOR_ID, ASEM_RAW_CAN_SUB_DEVICE_ID,
> -		0, 0,
> -		(kernel_ulong_t)&plx_pci_card_info_asem_dual_can
> -	},
> -	{
> +		PCI_DEVICE_SUB(ASEM_RAW_CAN_VENDOR_ID, ASEM_RAW_CAN_DEVICE_ID,
> +			       ASEM_RAW_CAN_SUB_VENDOR_ID, ASEM_RAW_CAN_SUB_DEVICE_ID),
> +		.driver_data = (kernel_ulong_t)&plx_pci_card_info_asem_dual_can,
> +	}, {
>  		/* ASEM Dual CAN raw -new model */
> -		ASEM_RAW_CAN_VENDOR_ID, ASEM_RAW_CAN_DEVICE_ID,
> -		ASEM_RAW_CAN_SUB_VENDOR_ID, ASEM_RAW_CAN_SUB_DEVICE_ID_BIS,
> -		0, 0,
> -		(kernel_ulong_t)&plx_pci_card_info_asem_dual_can
> +		PCI_DEVICE_SUB(ASEM_RAW_CAN_VENDOR_ID, ASEM_RAW_CAN_DEVICE_ID,
> +			       ASEM_RAW_CAN_SUB_VENDOR_ID, ASEM_RAW_CAN_SUB_DEVICE_ID_BIS),
> +		.driver_data = (kernel_ulong_t)&plx_pci_card_info_asem_dual_can,
>  	},
> -	{ 0,}
> +	{ }

Nitpick: can you convert the terminating entry to follow the same style
as the rest of the driver:

diff --git a/drivers/net/can/sja1000/plx_pci.c b/drivers/net/can/sja1000/plx_pci.c
index a03553b80a5d..d69ff0ccfd94 100644
--- a/drivers/net/can/sja1000/plx_pci.c
+++ b/drivers/net/can/sja1000/plx_pci.c
@@ -353,8 +353,8 @@ static const struct pci_device_id plx_pci_tbl[] = {
                 PCI_DEVICE_SUB(ASEM_RAW_CAN_VENDOR_ID, ASEM_RAW_CAN_DEVICE_ID,
                                ASEM_RAW_CAN_SUB_VENDOR_ID, ASEM_RAW_CAN_SUB_DEVICE_ID_BIS),
                 .driver_data = (kernel_ulong_t)&plx_pci_card_info_asem_dual_can,
-        },
-        { }
+        }, {
+        }
 };
 MODULE_DEVICE_TABLE(pci, plx_pci_tbl);

Marc

-- 
Pengutronix e.K.                 | Marc Kleine-Budde          |
Embedded Linux                   | https://www.pengutronix.de |
Vertretung Nürnberg              | Phone: +49-5121-206917-129 |
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-9   |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply related

* [PATCH net-next v2 1/2] net: Consistently define pci_device_ids using named initializers
From: Uwe Kleine-König (The Capable Hub) @ 2026-05-07 10:50 UTC (permalink / raw)
  To: Michael Grzeschik, Andrew Lunn, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Marc Kleine-Budde, Vincent Mailhol,
	Krzysztof Halasa, Johannes Berg
  Cc: Steffen Klassert, David Dillow, Ion Badulescu, Mark Einon,
	Rasesh Mody, GR-Linux-NIC-Dev, Manish Chopra, Potnuri Bharat Teja,
	Denis Kirjanov, Jijie Shao, Jian Shen, Cai Huoqing, Fan Gong,
	Tony Nguyen, Przemek Kitszel, Tariq Toukan, Saeed Mahameed,
	Leon Romanovsky, Mark Bloch, Ido Schimmel, Petr Machata,
	Yibo Dong, Heiner Kallweit, nic_swsd, Jiri Pirko, Francois Romieu,
	Daniele Venzano, Samuel Chessman, Jiawen Wu, Mengyuan Lou,
	Kevin Curtis, Arend van Spriel, Stanislav Yakovlev,
	Richard Cochran, Kees Cook, Aleksandr Loktionov, Thomas Gleixner,
	Jacob Keller, Thomas Fourier, Ingo Molnar, Kory Maincent,
	Zilin Guan, Vadim Fedorenko, Marco Crivellari, Bjorn Helgaas,
	David Arinzon, Yeounsu Moon, Denis Benato, Yonglong Liu,
	Andy Shevchenko, Randy Dunlap, Yicong Hui, MD Danish Anwar,
	Nathan Chancellor, Ethan Nelson-Moore, Larysa Zaremba, Ian Lin,
	Colin Ian King, Double Lo, Markus Schneider-Pargmann,
	Simon Horman, netdev, linux-kernel, linux-can, linux-parisc,
	intel-wired-lan, linux-rdma, oss-drivers, linux-wireless,
	brcm80211, brcm80211-dev-list.pdl
In-Reply-To: <cover.1778149923.git.u.kleine-koenig@baylibre.com>

... and PCI device helpers.

The various struct pci_device_id arrays were initialized mostly by one
the PCI_DEVICE macros and then list expressions. The latter isn't easily
readable if you're not into PCI. Using named initializers is more
explicit and thus easier to parse.

Also use PCI_DEVICE* helper macros to assign .vendor, .device,
.subvendor and .subdevice where appropriate and skip explicit
assignments of 0 (which the compiler takes care of).

The secret plan is to make struct pci_device_id::driver_data an
anonymous union (similar to
https://lore.kernel.org/all/cover.1776579304.git.u.kleine-koenig@baylibre.com/)
and that requires named initializers. But it's also a nice cleanup on
its own.

This change doesn't introduce changes to the compiled pci_device_id
arrays. Tested on x86 and arm64.

Reviewed-by: Jijie Shao <shaojijie@huawei.com>
Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Reviewed-by: Petr Machata <petrm@nvidia.com> # for mlxsw
Acked-by: Jacob Keller <jacob.e.keller@intel.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com>
---
 drivers/net/arcnet/com20020-pci.c             | 242 +++------
 drivers/net/can/m_can/m_can_pci.c             |   6 +-
 drivers/net/can/sja1000/plx_pci.c             | 167 +++----
 drivers/net/ethernet/3com/3c59x.c             |  80 +--
 drivers/net/ethernet/3com/typhoon.c           |  75 ++-
 drivers/net/ethernet/8390/ne2k-pci.c          |  24 +-
 drivers/net/ethernet/adaptec/starfire.c       |   4 +-
 drivers/net/ethernet/agere/et131x.c           |   6 +-
 drivers/net/ethernet/broadcom/bnx2.c          |  62 ++-
 .../net/ethernet/broadcom/bnx2x/bnx2x_main.c  |  50 +-
 .../net/ethernet/cavium/liquidio/lio_main.c   |  10 +-
 .../ethernet/cavium/liquidio/lio_vf_main.c    |   7 +-
 drivers/net/ethernet/chelsio/cxgb/common.h    |   2 +-
 drivers/net/ethernet/chelsio/cxgb/subr.c      |   2 +-
 .../net/ethernet/chelsio/cxgb3/cxgb3_main.c   |   4 +-
 .../net/ethernet/chelsio/cxgb4/cxgb4_main.c   |   4 +-
 .../ethernet/chelsio/cxgb4vf/cxgb4vf_main.c   |   4 +-
 drivers/net/ethernet/dec/tulip/de2104x.c      |   6 +-
 drivers/net/ethernet/dec/tulip/dmfe.c         |  12 +-
 drivers/net/ethernet/dec/tulip/tulip_core.c   |  78 +--
 drivers/net/ethernet/dec/tulip/uli526x.c      |   6 +-
 drivers/net/ethernet/dec/tulip/winbond-840.c  |  13 +-
 drivers/net/ethernet/dlink/dl2k.h             |  12 +-
 drivers/net/ethernet/dlink/sundance.c         |  14 +-
 drivers/net/ethernet/fealnx.c                 |   8 +-
 .../net/ethernet/hisilicon/hibmcge/hbg_main.c |   2 +-
 .../net/ethernet/hisilicon/hns3/hns3_enet.c   |  50 +-
 .../hisilicon/hns3/hns3pf/hclge_main.c        |  18 +-
 .../hisilicon/hns3/hns3vf/hclgevf_main.c      |  12 +-
 .../net/ethernet/huawei/hinic/hinic_main.c    |  12 +-
 .../net/ethernet/huawei/hinic3/hinic3_lld.c   |   7 +-
 drivers/net/ethernet/intel/e100.c             |   9 +-
 drivers/net/ethernet/intel/e1000e/netdev.c    | 471 +++++++++++++-----
 drivers/net/ethernet/intel/fm10k/fm10k_pci.c  |  10 +-
 drivers/net/ethernet/intel/i40e/i40e_main.c   |  59 +--
 drivers/net/ethernet/intel/iavf/iavf_main.c   |  10 +-
 drivers/net/ethernet/intel/igb/igb_main.c     |  66 +--
 drivers/net/ethernet/intel/igbvf/netdev.c     |   4 +-
 drivers/net/ethernet/intel/igc/igc_main.c     |  34 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 106 ++--
 .../net/ethernet/intel/ixgbevf/ixgbevf_main.c |  49 +-
 drivers/net/ethernet/mellanox/mlx4/main.c     |   6 +-
 .../net/ethernet/mellanox/mlx5/core/main.c    |  26 +-
 .../net/ethernet/mellanox/mlxsw/spectrum.c    |  16 +-
 drivers/net/ethernet/micrel/ksz884x.c         |   8 +-
 .../net/ethernet/mucse/rnpgbe/rnpgbe_main.c   |  10 +-
 drivers/net/ethernet/natsemi/natsemi.c        |   4 +-
 drivers/net/ethernet/netronome/nfp/nfp_main.c |  81 +--
 .../ethernet/netronome/nfp/nfp_netvf_main.c   |  41 +-
 drivers/net/ethernet/qlogic/qede/qede_main.c  |  20 +-
 drivers/net/ethernet/realtek/8139too.c        |  52 +-
 drivers/net/ethernet/realtek/r8169_main.c     |   8 +-
 drivers/net/ethernet/rocker/rocker_main.c     |   4 +-
 drivers/net/ethernet/sis/sis190.c             |   6 +-
 drivers/net/ethernet/sis/sis900.c             |  10 +-
 drivers/net/ethernet/smsc/epic100.c           |  18 +-
 drivers/net/ethernet/sun/cassini.c            |   8 +-
 drivers/net/ethernet/sun/sungem.c             |  26 +-
 drivers/net/ethernet/ti/tlan.c                |  41 +-
 drivers/net/ethernet/wangxun/ngbe/ngbe_main.c |  26 +-
 .../net/ethernet/wangxun/ngbevf/ngbevf_main.c |  26 +-
 .../net/ethernet/wangxun/txgbe/txgbe_main.c   |  18 +-
 .../ethernet/wangxun/txgbevf/txgbevf_main.c   |  18 +-
 drivers/net/wan/farsync.c                     |  24 +-
 drivers/net/wan/pc300too.c                    |  14 +-
 drivers/net/wan/pci200syn.c                   |   6 +-
 drivers/net/wan/wanxl.c                       |  11 +-
 .../broadcom/brcm80211/brcmfmac/pcie.c        |  17 +-
 drivers/net/wireless/intel/ipw2x00/ipw2200.c  |  52 +-
 69 files changed, 1312 insertions(+), 1102 deletions(-)

diff --git a/drivers/net/arcnet/com20020-pci.c b/drivers/net/arcnet/com20020-pci.c
index dbadda08dce2..6474c7be2992 100644
--- a/drivers/net/arcnet/com20020-pci.c
+++ b/drivers/net/arcnet/com20020-pci.c
@@ -459,168 +459,88 @@ static struct com20020_pci_card_info card_info_eae_fb2 = {
 
 static const struct pci_device_id com20020pci_id_table[] = {
 	{
-		0x1571, 0xa001,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		0,
+		PCI_DEVICE(0x1571, 0xa001),
+		.driver_data = 0,
+	}, {
+		PCI_DEVICE(0x1571, 0xa002),
+		.driver_data = 0,
+	}, {
+		PCI_DEVICE(0x1571, 0xa003),
+		.driver_data = 0,
+	}, {
+		PCI_DEVICE(0x1571, 0xa004),
+		.driver_data = 0,
+	}, {
+		PCI_DEVICE(0x1571, 0xa005),
+		.driver_data = 0,
+	}, {
+		PCI_DEVICE(0x1571, 0xa006),
+		.driver_data = 0,
+	}, {
+		PCI_DEVICE(0x1571, 0xa007),
+		.driver_data = 0,
+	}, {
+		PCI_DEVICE(0x1571, 0xa008),
+		.driver_data = 0,
+	}, {
+		PCI_DEVICE(0x1571, 0xa009),
+		.driver_data = (kernel_ulong_t)&card_info_5mbit,
+	}, {
+		PCI_DEVICE(0x1571, 0xa00a),
+		.driver_data = (kernel_ulong_t)&card_info_5mbit,
+	}, {
+		PCI_DEVICE(0x1571, 0xa00b),
+		.driver_data = (kernel_ulong_t)&card_info_5mbit,
+	}, {
+		PCI_DEVICE(0x1571, 0xa00c),
+		.driver_data = (kernel_ulong_t)&card_info_5mbit,
+	}, {
+		PCI_DEVICE(0x1571, 0xa00d),
+		.driver_data = (kernel_ulong_t)&card_info_5mbit,
+	}, {
+		PCI_DEVICE(0x1571, 0xa00e),
+		.driver_data = (kernel_ulong_t)&card_info_5mbit,
+	}, {
+		PCI_DEVICE(0x1571, 0xa201),
+		.driver_data = (kernel_ulong_t)&card_info_10mbit,
+	}, {
+		PCI_DEVICE(0x1571, 0xa202),
+		.driver_data = (kernel_ulong_t)&card_info_10mbit,
+	}, {
+		PCI_DEVICE(0x1571, 0xa203),
+		.driver_data = (kernel_ulong_t)&card_info_10mbit,
+	}, {
+		PCI_DEVICE(0x1571, 0xa204),
+		.driver_data = (kernel_ulong_t)&card_info_10mbit,
+	}, {
+		PCI_DEVICE(0x1571, 0xa205),
+		.driver_data = (kernel_ulong_t)&card_info_10mbit,
+	}, {
+		PCI_DEVICE(0x1571, 0xa206),
+		.driver_data = (kernel_ulong_t)&card_info_10mbit,
+	}, {
+		PCI_DEVICE_SUB(0x10B5, 0x9030, 0x10B5, 0x2978),
+		.driver_data = (kernel_ulong_t)&card_info_sohard,
+	}, {
+		PCI_DEVICE_SUB(0x10B5, 0x9050, 0x10B5, 0x2273),
+		.driver_data = (kernel_ulong_t)&card_info_sohard,
+	}, {
+		PCI_DEVICE_SUB(0x10B5, 0x9050, 0x10B5, 0x3263),
+		.driver_data = (kernel_ulong_t)&card_info_eae_arc1,
+	}, {
+		PCI_DEVICE_SUB(0x10B5, 0x9050, 0x10B5, 0x3292),
+		.driver_data = (kernel_ulong_t)&card_info_eae_ma1,
+	}, {
+		PCI_DEVICE_SUB(0x10B5, 0x9050, 0x10B5, 0x3294),
+		.driver_data = (kernel_ulong_t)&card_info_eae_fb2,
+	}, {
+		PCI_DEVICE(0x14BA, 0x6000),
+		.driver_data = (kernel_ulong_t)&card_info_10mbit,
+	}, {
+		PCI_DEVICE(0x10B5, 0x2200),
+		.driver_data = (kernel_ulong_t)&card_info_10mbit,
 	},
-	{
-		0x1571, 0xa002,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		0,
-	},
-	{
-		0x1571, 0xa003,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		0
-	},
-	{
-		0x1571, 0xa004,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		0,
-	},
-	{
-		0x1571, 0xa005,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		0
-	},
-	{
-		0x1571, 0xa006,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		0
-	},
-	{
-		0x1571, 0xa007,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		0
-	},
-	{
-		0x1571, 0xa008,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		0
-	},
-	{
-		0x1571, 0xa009,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		(kernel_ulong_t)&card_info_5mbit
-	},
-	{
-		0x1571, 0xa00a,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		(kernel_ulong_t)&card_info_5mbit
-	},
-	{
-		0x1571, 0xa00b,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		(kernel_ulong_t)&card_info_5mbit
-	},
-	{
-		0x1571, 0xa00c,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		(kernel_ulong_t)&card_info_5mbit
-	},
-	{
-		0x1571, 0xa00d,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		(kernel_ulong_t)&card_info_5mbit
-	},
-	{
-		0x1571, 0xa00e,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		(kernel_ulong_t)&card_info_5mbit
-	},
-	{
-		0x1571, 0xa201,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		(kernel_ulong_t)&card_info_10mbit
-	},
-	{
-		0x1571, 0xa202,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		(kernel_ulong_t)&card_info_10mbit
-	},
-	{
-		0x1571, 0xa203,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		(kernel_ulong_t)&card_info_10mbit
-	},
-	{
-		0x1571, 0xa204,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		(kernel_ulong_t)&card_info_10mbit
-	},
-	{
-		0x1571, 0xa205,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		(kernel_ulong_t)&card_info_10mbit
-	},
-	{
-		0x1571, 0xa206,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		(kernel_ulong_t)&card_info_10mbit
-	},
-	{
-		0x10B5, 0x9030,
-		0x10B5, 0x2978,
-		0, 0,
-		(kernel_ulong_t)&card_info_sohard
-	},
-	{
-		0x10B5, 0x9050,
-		0x10B5, 0x2273,
-		0, 0,
-		(kernel_ulong_t)&card_info_sohard
-	},
-	{
-		0x10B5, 0x9050,
-		0x10B5, 0x3263,
-		0, 0,
-		(kernel_ulong_t)&card_info_eae_arc1
-	},
-	{
-		0x10B5, 0x9050,
-		0x10B5, 0x3292,
-		0, 0,
-		(kernel_ulong_t)&card_info_eae_ma1
-	},
-	{
-		0x10B5, 0x9050,
-		0x10B5, 0x3294,
-		0, 0,
-		(kernel_ulong_t)&card_info_eae_fb2
-	},
-	{
-		0x14BA, 0x6000,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		(kernel_ulong_t)&card_info_10mbit
-	},
-	{
-		0x10B5, 0x2200,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		(kernel_ulong_t)&card_info_10mbit
-	},
-	{ 0, }
+	{ }
 };
 
 MODULE_DEVICE_TABLE(pci, com20020pci_id_table);
diff --git a/drivers/net/can/m_can/m_can_pci.c b/drivers/net/can/m_can/m_can_pci.c
index eb31ed1f9644..6ac52f54d9be 100644
--- a/drivers/net/can/m_can/m_can_pci.c
+++ b/drivers/net/can/m_can/m_can_pci.c
@@ -183,9 +183,9 @@ static SIMPLE_DEV_PM_OPS(m_can_pci_pm_ops,
 			 m_can_pci_suspend, m_can_pci_resume);
 
 static const struct pci_device_id m_can_pci_id_table[] = {
-	{ PCI_VDEVICE(INTEL, 0x4bc1), M_CAN_CLOCK_FREQ_EHL, },
-	{ PCI_VDEVICE(INTEL, 0x4bc2), M_CAN_CLOCK_FREQ_EHL, },
-	{  }	/* Terminating Entry */
+	{ PCI_VDEVICE(INTEL, 0x4bc1), .driver_data = M_CAN_CLOCK_FREQ_EHL },
+	{ PCI_VDEVICE(INTEL, 0x4bc2), .driver_data = M_CAN_CLOCK_FREQ_EHL },
+	{ }	/* terminating entry */
 };
 MODULE_DEVICE_TABLE(pci, m_can_pci_id_table);
 
diff --git a/drivers/net/can/sja1000/plx_pci.c b/drivers/net/can/sja1000/plx_pci.c
index 08183833c9bc..a03553b80a5d 100644
--- a/drivers/net/can/sja1000/plx_pci.c
+++ b/drivers/net/can/sja1000/plx_pci.c
@@ -272,124 +272,89 @@ static struct plx_pci_card_info plx_pci_card_info_asem_dual_can = {
 static const struct pci_device_id plx_pci_tbl[] = {
 	{
 		/* Adlink PCI-7841/cPCI-7841 */
-		ADLINK_PCI_VENDOR_ID, ADLINK_PCI_DEVICE_ID,
-		PCI_ANY_ID, PCI_ANY_ID,
-		PCI_CLASS_NETWORK_OTHER << 8, ~0,
-		(kernel_ulong_t)&plx_pci_card_info_adlink
-	},
-	{
+		PCI_DEVICE(ADLINK_PCI_VENDOR_ID, ADLINK_PCI_DEVICE_ID),
+		.class = PCI_CLASS_NETWORK_OTHER << 8,
+		.class_mask = ~0,
+		.driver_data = (kernel_ulong_t)&plx_pci_card_info_adlink,
+	}, {
 		/* Adlink PCI-7841/cPCI-7841 SE */
-		ADLINK_PCI_VENDOR_ID, ADLINK_PCI_DEVICE_ID,
-		PCI_ANY_ID, PCI_ANY_ID,
-		PCI_CLASS_COMMUNICATION_OTHER << 8, ~0,
-		(kernel_ulong_t)&plx_pci_card_info_adlink_se
-	},
-	{
+		PCI_DEVICE(ADLINK_PCI_VENDOR_ID, ADLINK_PCI_DEVICE_ID),
+		.class = PCI_CLASS_COMMUNICATION_OTHER << 8,
+		.class_mask = ~0,
+		.driver_data = (kernel_ulong_t)&plx_pci_card_info_adlink_se,
+	}, {
 		/* esd CAN-PCI/200 */
-		PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050,
-		PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCI200,
-		0, 0,
-		(kernel_ulong_t)&plx_pci_card_info_esd200
-	},
-	{
+		PCI_VDEVICE_SUB(PLX, PCI_DEVICE_ID_PLX_9050,
+				PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCI200),
+		.driver_data = (kernel_ulong_t)&plx_pci_card_info_esd200,
+	}, {
 		/* esd CAN-CPCI/200 */
-		PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9030,
-		PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_CPCI200,
-		0, 0,
-		(kernel_ulong_t)&plx_pci_card_info_esd200
-	},
-	{
+		PCI_VDEVICE_SUB(PLX, PCI_DEVICE_ID_PLX_9030,
+				PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_CPCI200),
+		.driver_data = (kernel_ulong_t)&plx_pci_card_info_esd200,
+	}, {
 		/* esd CAN-PCI104/200 */
-		PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9030,
-		PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCI104200,
-		0, 0,
-		(kernel_ulong_t)&plx_pci_card_info_esd200
-	},
-	{
+		PCI_VDEVICE_SUB(PLX, PCI_DEVICE_ID_PLX_9030,
+				PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCI104200),
+		.driver_data = (kernel_ulong_t)&plx_pci_card_info_esd200,
+	}, {
 		/* esd CAN-PCI/266 */
-		PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9056,
-		PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCI266,
-		0, 0,
-		(kernel_ulong_t)&plx_pci_card_info_esd266
-	},
-	{
+		PCI_VDEVICE_SUB(PLX, PCI_DEVICE_ID_PLX_9056,
+				PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCI266),
+		.driver_data = (kernel_ulong_t)&plx_pci_card_info_esd266,
+	}, {
 		/* esd CAN-PMC/266 */
-		PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9056,
-		PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PMC266,
-		0, 0,
-		(kernel_ulong_t)&plx_pci_card_info_esd266
-	},
-	{
+		PCI_VDEVICE_SUB(PLX, PCI_DEVICE_ID_PLX_9056,
+				PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PMC266),
+		.driver_data = (kernel_ulong_t)&plx_pci_card_info_esd266,
+	}, {
 		/* esd CAN-PCIE/2000 */
-		PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9056,
-		PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCIE2000,
-		0, 0,
-		(kernel_ulong_t)&plx_pci_card_info_esd2000
-	},
-	{
+		PCI_VDEVICE_SUB(PLX, PCI_DEVICE_ID_PLX_9056,
+				PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCIE2000),
+		.driver_data = (kernel_ulong_t)&plx_pci_card_info_esd2000,
+	}, {
 		/* IXXAT PC-I 04/PCI card */
-		IXXAT_PCI_VENDOR_ID, IXXAT_PCI_DEVICE_ID,
-		PCI_ANY_ID, IXXAT_PCI_SUB_SYS_ID,
-		0, 0,
-		(kernel_ulong_t)&plx_pci_card_info_ixxat
-	},
-	{
+		PCI_DEVICE_SUB(IXXAT_PCI_VENDOR_ID, IXXAT_PCI_DEVICE_ID,
+			       PCI_ANY_ID, IXXAT_PCI_SUB_SYS_ID),
+		.driver_data = (kernel_ulong_t)&plx_pci_card_info_ixxat,
+	}, {
 		/* Marathon CAN-bus-PCI card */
-		PCI_VENDOR_ID_PLX, MARATHON_PCI_DEVICE_ID,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		(kernel_ulong_t)&plx_pci_card_info_marathon_pci
-	},
-	{
+		PCI_VDEVICE(PLX, MARATHON_PCI_DEVICE_ID),
+		.driver_data = (kernel_ulong_t)&plx_pci_card_info_marathon_pci,
+	}, {
 		/* Marathon CAN-bus-PCIe card */
-		PCI_VENDOR_ID_PLX, MARATHON_PCIE_DEVICE_ID,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		(kernel_ulong_t)&plx_pci_card_info_marathon_pcie
-	},
-	{
+		PCI_VDEVICE(PLX, MARATHON_PCIE_DEVICE_ID),
+		.driver_data = (kernel_ulong_t)&plx_pci_card_info_marathon_pcie,
+	}, {
 		/* TEWS TECHNOLOGIES TPMC810 card */
-		TEWS_PCI_VENDOR_ID, TEWS_PCI_DEVICE_ID_TMPC810,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		(kernel_ulong_t)&plx_pci_card_info_tews
-	},
-	{
+		PCI_DEVICE(TEWS_PCI_VENDOR_ID, TEWS_PCI_DEVICE_ID_TMPC810),
+		.driver_data = (kernel_ulong_t)&plx_pci_card_info_tews,
+	}, {
 		/* Connect Tech Inc. CANpro/104-Plus Opto (CRG001) card */
-		PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9030,
-		PCI_SUBVENDOR_ID_CONNECT_TECH, CTI_PCI_DEVICE_ID_CRG001,
-		0, 0,
-		(kernel_ulong_t)&plx_pci_card_info_cti
-	},
-	{
+		PCI_VDEVICE_SUB(PLX, PCI_DEVICE_ID_PLX_9030,
+				PCI_SUBVENDOR_ID_CONNECT_TECH, CTI_PCI_DEVICE_ID_CRG001),
+		.driver_data = (kernel_ulong_t)&plx_pci_card_info_cti,
+	}, {
 		/* Elcus CAN-200-PCI */
-		CAN200PCI_VENDOR_ID, CAN200PCI_DEVICE_ID,
-		CAN200PCI_SUB_VENDOR_ID, CAN200PCI_SUB_DEVICE_ID,
-		0, 0,
-		(kernel_ulong_t)&plx_pci_card_info_elcus
-	},
-	{
+		PCI_DEVICE_SUB(CAN200PCI_VENDOR_ID, CAN200PCI_DEVICE_ID,
+			       CAN200PCI_SUB_VENDOR_ID, CAN200PCI_SUB_DEVICE_ID),
+		.driver_data = (kernel_ulong_t)&plx_pci_card_info_elcus,
+	}, {
 		/* moxa */
-		MOXA_PCI_VENDOR_ID, MOXA_PCI_DEVICE_ID,
-		PCI_ANY_ID, PCI_ANY_ID,
-		0, 0,
-		(kernel_ulong_t)&plx_pci_card_info_moxa
-	},
-	{
+		PCI_DEVICE(MOXA_PCI_VENDOR_ID, MOXA_PCI_DEVICE_ID),
+		.driver_data = (kernel_ulong_t)&plx_pci_card_info_moxa,
+	}, {
 		/* ASEM Dual CAN raw */
-		ASEM_RAW_CAN_VENDOR_ID, ASEM_RAW_CAN_DEVICE_ID,
-		ASEM_RAW_CAN_SUB_VENDOR_ID, ASEM_RAW_CAN_SUB_DEVICE_ID,
-		0, 0,
-		(kernel_ulong_t)&plx_pci_card_info_asem_dual_can
-	},
-	{
+		PCI_DEVICE_SUB(ASEM_RAW_CAN_VENDOR_ID, ASEM_RAW_CAN_DEVICE_ID,
+			       ASEM_RAW_CAN_SUB_VENDOR_ID, ASEM_RAW_CAN_SUB_DEVICE_ID),
+		.driver_data = (kernel_ulong_t)&plx_pci_card_info_asem_dual_can,
+	}, {
 		/* ASEM Dual CAN raw -new model */
-		ASEM_RAW_CAN_VENDOR_ID, ASEM_RAW_CAN_DEVICE_ID,
-		ASEM_RAW_CAN_SUB_VENDOR_ID, ASEM_RAW_CAN_SUB_DEVICE_ID_BIS,
-		0, 0,
-		(kernel_ulong_t)&plx_pci_card_info_asem_dual_can
+		PCI_DEVICE_SUB(ASEM_RAW_CAN_VENDOR_ID, ASEM_RAW_CAN_DEVICE_ID,
+			       ASEM_RAW_CAN_SUB_VENDOR_ID, ASEM_RAW_CAN_SUB_DEVICE_ID_BIS),
+		.driver_data = (kernel_ulong_t)&plx_pci_card_info_asem_dual_can,
 	},
-	{ 0,}
+	{ }
 };
 MODULE_DEVICE_TABLE(pci, plx_pci_tbl);
 
diff --git a/drivers/net/ethernet/3com/3c59x.c b/drivers/net/ethernet/3com/3c59x.c
index 4fe4efdb3737..79beb86437df 100644
--- a/drivers/net/ethernet/3com/3c59x.c
+++ b/drivers/net/ethernet/3com/3c59x.c
@@ -376,54 +376,54 @@ static struct vortex_chip_info {
 
 
 static const struct pci_device_id vortex_pci_tbl[] = {
-	{ 0x10B7, 0x5900, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C590 },
-	{ 0x10B7, 0x5920, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C592 },
-	{ 0x10B7, 0x5970, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C597 },
-	{ 0x10B7, 0x5950, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C595_1 },
-	{ 0x10B7, 0x5951, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C595_2 },
+	{ PCI_DEVICE(0x10B7, 0x5900), .driver_data = CH_3C590 },
+	{ PCI_DEVICE(0x10B7, 0x5920), .driver_data = CH_3C592 },
+	{ PCI_DEVICE(0x10B7, 0x5970), .driver_data = CH_3C597 },
+	{ PCI_DEVICE(0x10B7, 0x5950), .driver_data = CH_3C595_1 },
+	{ PCI_DEVICE(0x10B7, 0x5951), .driver_data = CH_3C595_2 },
 
-	{ 0x10B7, 0x5952, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C595_3 },
-	{ 0x10B7, 0x9000, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C900_1 },
-	{ 0x10B7, 0x9001, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C900_2 },
-	{ 0x10B7, 0x9004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C900_3 },
-	{ 0x10B7, 0x9005, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C900_4 },
+	{ PCI_DEVICE(0x10B7, 0x5952), .driver_data = CH_3C595_3 },
+	{ PCI_DEVICE(0x10B7, 0x9000), .driver_data = CH_3C900_1 },
+	{ PCI_DEVICE(0x10B7, 0x9001), .driver_data = CH_3C900_2 },
+	{ PCI_DEVICE(0x10B7, 0x9004), .driver_data = CH_3C900_3 },
+	{ PCI_DEVICE(0x10B7, 0x9005), .driver_data = CH_3C900_4 },
 
-	{ 0x10B7, 0x9006, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C900_5 },
-	{ 0x10B7, 0x900A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C900B_FL },
-	{ 0x10B7, 0x9050, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C905_1 },
-	{ 0x10B7, 0x9051, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C905_2 },
-	{ 0x10B7, 0x9054, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C905B_TX },
-	{ 0x10B7, 0x9055, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C905B_1 },
+	{ PCI_DEVICE(0x10B7, 0x9006), .driver_data = CH_3C900_5 },
+	{ PCI_DEVICE(0x10B7, 0x900A), .driver_data = CH_3C900B_FL },
+	{ PCI_DEVICE(0x10B7, 0x9050), .driver_data = CH_3C905_1 },
+	{ PCI_DEVICE(0x10B7, 0x9051), .driver_data = CH_3C905_2 },
+	{ PCI_DEVICE(0x10B7, 0x9054), .driver_data = CH_3C905B_TX },
+	{ PCI_DEVICE(0x10B7, 0x9055), .driver_data = CH_3C905B_1 },
 
-	{ 0x10B7, 0x9058, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C905B_2 },
-	{ 0x10B7, 0x905A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C905B_FX },
-	{ 0x10B7, 0x9200, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C905C },
-	{ 0x10B7, 0x9202, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C9202 },
-	{ 0x10B7, 0x9800, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C980 },
-	{ 0x10B7, 0x9805, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C9805 },
+	{ PCI_DEVICE(0x10B7, 0x9058), .driver_data = CH_3C905B_2 },
+	{ PCI_DEVICE(0x10B7, 0x905A), .driver_data = CH_3C905B_FX },
+	{ PCI_DEVICE(0x10B7, 0x9200), .driver_data = CH_3C905C },
+	{ PCI_DEVICE(0x10B7, 0x9202), .driver_data = CH_3C9202 },
+	{ PCI_DEVICE(0x10B7, 0x9800), .driver_data = CH_3C980 },
+	{ PCI_DEVICE(0x10B7, 0x9805), .driver_data = CH_3C9805 },
 
-	{ 0x10B7, 0x7646, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3CSOHO100_TX },
-	{ 0x10B7, 0x5055, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C555 },
-	{ 0x10B7, 0x6055, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C556 },
-	{ 0x10B7, 0x6056, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C556B },
-	{ 0x10B7, 0x5b57, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C575 },
+	{ PCI_DEVICE(0x10B7, 0x7646), .driver_data = CH_3CSOHO100_TX },
+	{ PCI_DEVICE(0x10B7, 0x5055), .driver_data = CH_3C555 },
+	{ PCI_DEVICE(0x10B7, 0x6055), .driver_data = CH_3C556 },
+	{ PCI_DEVICE(0x10B7, 0x6056), .driver_data = CH_3C556B },
+	{ PCI_DEVICE(0x10B7, 0x5b57), .driver_data = CH_3C575 },
 
-	{ 0x10B7, 0x5057, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C575_1 },
-	{ 0x10B7, 0x5157, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3CCFE575 },
-	{ 0x10B7, 0x5257, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3CCFE575CT },
-	{ 0x10B7, 0x6560, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3CCFE656 },
-	{ 0x10B7, 0x6562, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3CCFEM656 },
+	{ PCI_DEVICE(0x10B7, 0x5057), .driver_data = CH_3C575_1 },
+	{ PCI_DEVICE(0x10B7, 0x5157), .driver_data = CH_3CCFE575 },
+	{ PCI_DEVICE(0x10B7, 0x5257), .driver_data = CH_3CCFE575CT },
+	{ PCI_DEVICE(0x10B7, 0x6560), .driver_data = CH_3CCFE656 },
+	{ PCI_DEVICE(0x10B7, 0x6562), .driver_data = CH_3CCFEM656 },
 
-	{ 0x10B7, 0x6564, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3CCFEM656_1 },
-	{ 0x10B7, 0x4500, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C450 },
-	{ 0x10B7, 0x9201, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C920 },
-	{ 0x10B7, 0x1201, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C982A },
-	{ 0x10B7, 0x1202, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_3C982B },
+	{ PCI_DEVICE(0x10B7, 0x6564), .driver_data = CH_3CCFEM656_1 },
+	{ PCI_DEVICE(0x10B7, 0x4500), .driver_data = CH_3C450 },
+	{ PCI_DEVICE(0x10B7, 0x9201), .driver_data = CH_3C920 },
+	{ PCI_DEVICE(0x10B7, 0x1201), .driver_data = CH_3C982A },
+	{ PCI_DEVICE(0x10B7, 0x1202), .driver_data = CH_3C982B },
 
-	{ 0x10B7, 0x9056, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_905BT4 },
-	{ 0x10B7, 0x9210, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_920B_EMB_WNM },
+	{ PCI_DEVICE(0x10B7, 0x9056), .driver_data = CH_905BT4 },
+	{ PCI_DEVICE(0x10B7, 0x9210), .driver_data = CH_920B_EMB_WNM },
 
-	{0,}						/* 0 terminated list. */
+	{ }						/* 0 terminated list. */
 };
 MODULE_DEVICE_TABLE(pci, vortex_pci_tbl);
 
diff --git a/drivers/net/ethernet/3com/typhoon.c b/drivers/net/ethernet/3com/typhoon.c
index aaaff3ba43ef..fadc86907ec2 100644
--- a/drivers/net/ethernet/3com/typhoon.c
+++ b/drivers/net/ethernet/3com/typhoon.c
@@ -198,33 +198,54 @@ static struct typhoon_card_info typhoon_card_info[] = {
  * bits 12-16 indicate card type: (0) client and (1) server
  */
 static const struct pci_device_id typhoon_pci_tbl[] = {
-	{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0,TYPHOON_TX },
-	{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990_TX_95,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, TYPHOON_TX95 },
-	{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990_TX_97,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, TYPHOON_TX97 },
-	{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990B,
-	  PCI_ANY_ID, 0x1000, 0, 0, TYPHOON_TXM },
-	{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990B,
-	  PCI_ANY_ID, 0x1102, 0, 0, TYPHOON_FXM },
-	{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990B,
-	  PCI_ANY_ID, 0x2000, 0, 0, TYPHOON_BSVR },
-	{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990_FX,
-	  PCI_ANY_ID, 0x1101, 0, 0, TYPHOON_FX95 },
-	{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990_FX,
-	  PCI_ANY_ID, 0x1102, 0, 0, TYPHOON_FX97 },
-	{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990_FX,
-	  PCI_ANY_ID, 0x2101, 0, 0, TYPHOON_FX95SVR },
-	{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990_FX,
-	  PCI_ANY_ID, 0x2102, 0, 0, TYPHOON_FX97SVR },
-	{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990SVR95,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, TYPHOON_SVR95 },
-	{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990SVR97,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, TYPHOON_SVR97 },
-	{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990SVR,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, TYPHOON_SVR },
-	{ 0, }
+	{
+		PCI_VDEVICE(3COM, PCI_DEVICE_ID_3COM_3CR990),
+		.driver_data = TYPHOON_TX,
+	}, {
+		PCI_VDEVICE(3COM, PCI_DEVICE_ID_3COM_3CR990_TX_95),
+		.driver_data = TYPHOON_TX95,
+	}, {
+		PCI_VDEVICE(3COM, PCI_DEVICE_ID_3COM_3CR990_TX_97),
+		.driver_data = TYPHOON_TX97,
+	}, {
+		PCI_VDEVICE_SUB(3COM, PCI_DEVICE_ID_3COM_3CR990B,
+				PCI_ANY_ID, 0x1000),
+		.driver_data = TYPHOON_TXM,
+	}, {
+		PCI_VDEVICE_SUB(3COM, PCI_DEVICE_ID_3COM_3CR990B,
+				PCI_ANY_ID, 0x1102),
+		.driver_data = TYPHOON_FXM,
+	}, {
+		PCI_VDEVICE_SUB(3COM, PCI_DEVICE_ID_3COM_3CR990B,
+				PCI_ANY_ID, 0x2000),
+		.driver_data = TYPHOON_BSVR,
+	}, {
+		PCI_VDEVICE_SUB(3COM, PCI_DEVICE_ID_3COM_3CR990_FX,
+				PCI_ANY_ID, 0x1101),
+		.driver_data = TYPHOON_FX95,
+	}, {
+		PCI_VDEVICE_SUB(3COM, PCI_DEVICE_ID_3COM_3CR990_FX,
+				PCI_ANY_ID, 0x1102),
+		.driver_data = TYPHOON_FX97,
+	}, {
+		PCI_VDEVICE_SUB(3COM, PCI_DEVICE_ID_3COM_3CR990_FX,
+				PCI_ANY_ID, 0x2101),
+		.driver_data = TYPHOON_FX95SVR,
+	}, {
+		PCI_VDEVICE_SUB(3COM, PCI_DEVICE_ID_3COM_3CR990_FX,
+				PCI_ANY_ID, 0x2102),
+		.driver_data = TYPHOON_FX97SVR,
+	}, {
+		PCI_VDEVICE(3COM, PCI_DEVICE_ID_3COM_3CR990SVR95),
+		.driver_data = TYPHOON_SVR95,
+	}, {
+		PCI_VDEVICE(3COM, PCI_DEVICE_ID_3COM_3CR990SVR97),
+		.driver_data = TYPHOON_SVR97,
+	}, {
+		PCI_VDEVICE(3COM, PCI_DEVICE_ID_3COM_3CR990SVR),
+		.driver_data = TYPHOON_SVR,
+	},
+	{ }
 };
 MODULE_DEVICE_TABLE(pci, typhoon_pci_tbl);
 
diff --git a/drivers/net/ethernet/8390/ne2k-pci.c b/drivers/net/ethernet/8390/ne2k-pci.c
index 1a34da07c0db..b1a94c97c0b9 100644
--- a/drivers/net/ethernet/8390/ne2k-pci.c
+++ b/drivers/net/ethernet/8390/ne2k-pci.c
@@ -143,18 +143,18 @@ static struct {
 
 
 static const struct pci_device_id ne2k_pci_tbl[] = {
-	{ 0x10ec, 0x8029, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_RealTek_RTL_8029 },
-	{ 0x1050, 0x0940, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_Winbond_89C940 },
-	{ 0x11f6, 0x1401, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_Compex_RL2000 },
-	{ 0x8e2e, 0x3000, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_KTI_ET32P2 },
-	{ 0x4a14, 0x5000, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_NetVin_NV5000SC },
-	{ 0x1106, 0x0926, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_Via_86C926 },
-	{ 0x10bd, 0x0e34, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_SureCom_NE34 },
-	{ 0x1050, 0x5a5a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_Winbond_W89C940F },
-	{ 0x12c3, 0x0058, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_Holtek_HT80232 },
-	{ 0x12c3, 0x5598, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_Holtek_HT80229 },
-	{ 0x8c4a, 0x1980, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_Winbond_89C940_8c4a },
-	{ 0, }
+	{ PCI_DEVICE(0x10ec, 0x8029), .driver_data = CH_RealTek_RTL_8029 },
+	{ PCI_DEVICE(0x1050, 0x0940), .driver_data = CH_Winbond_89C940 },
+	{ PCI_DEVICE(0x11f6, 0x1401), .driver_data = CH_Compex_RL2000 },
+	{ PCI_DEVICE(0x8e2e, 0x3000), .driver_data = CH_KTI_ET32P2 },
+	{ PCI_DEVICE(0x4a14, 0x5000), .driver_data = CH_NetVin_NV5000SC },
+	{ PCI_DEVICE(0x1106, 0x0926), .driver_data = CH_Via_86C926 },
+	{ PCI_DEVICE(0x10bd, 0x0e34), .driver_data = CH_SureCom_NE34 },
+	{ PCI_DEVICE(0x1050, 0x5a5a), .driver_data = CH_Winbond_W89C940F },
+	{ PCI_DEVICE(0x12c3, 0x0058), .driver_data = CH_Holtek_HT80232 },
+	{ PCI_DEVICE(0x12c3, 0x5598), .driver_data = CH_Holtek_HT80229 },
+	{ PCI_DEVICE(0x8c4a, 0x1980), .driver_data = CH_Winbond_89C940_8c4a },
+	{ }
 };
 
 MODULE_DEVICE_TABLE(pci, ne2k_pci_tbl);
diff --git a/drivers/net/ethernet/adaptec/starfire.c b/drivers/net/ethernet/adaptec/starfire.c
index e1b8794b14c9..f1109d90e1fc 100644
--- a/drivers/net/ethernet/adaptec/starfire.c
+++ b/drivers/net/ethernet/adaptec/starfire.c
@@ -278,8 +278,8 @@ enum chipset {
 };
 
 static const struct pci_device_id starfire_pci_tbl[] = {
-	{ PCI_VDEVICE(ADAPTEC, 0x6915), CH_6915 },
-	{ 0, }
+	{ PCI_VDEVICE(ADAPTEC, 0x6915), .driver_data = CH_6915 },
+	{ }
 };
 MODULE_DEVICE_TABLE(pci, starfire_pci_tbl);
 
diff --git a/drivers/net/ethernet/agere/et131x.c b/drivers/net/ethernet/agere/et131x.c
index 0f6e5373029a..1b465a167672 100644
--- a/drivers/net/ethernet/agere/et131x.c
+++ b/drivers/net/ethernet/agere/et131x.c
@@ -4084,9 +4084,9 @@ static int et131x_pci_setup(struct pci_dev *pdev,
 }
 
 static const struct pci_device_id et131x_pci_table[] = {
-	{ PCI_VDEVICE(ATT, ET131X_PCI_DEVICE_ID_GIG), 0UL},
-	{ PCI_VDEVICE(ATT, ET131X_PCI_DEVICE_ID_FAST), 0UL},
-	{ 0,}
+	{ PCI_VDEVICE(ATT, ET131X_PCI_DEVICE_ID_GIG) },
+	{ PCI_VDEVICE(ATT, ET131X_PCI_DEVICE_ID_FAST) },
+	{ }
 };
 MODULE_DEVICE_TABLE(pci, et131x_pci_table);
 
diff --git a/drivers/net/ethernet/broadcom/bnx2.c b/drivers/net/ethernet/broadcom/bnx2.c
index f5722e929833..3e2fd2939e87 100644
--- a/drivers/net/ethernet/broadcom/bnx2.c
+++ b/drivers/net/ethernet/broadcom/bnx2.c
@@ -115,29 +115,45 @@ static struct {
 	};
 
 static const struct pci_device_id bnx2_pci_tbl[] = {
-	{ PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_5706,
-	  PCI_VENDOR_ID_HP, 0x3101, 0, 0, NC370T },
-	{ PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_5706,
-	  PCI_VENDOR_ID_HP, 0x3106, 0, 0, NC370I },
-	{ PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_5706,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5706 },
-	{ PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_5708,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5708 },
-	{ PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_5706S,
-	  PCI_VENDOR_ID_HP, 0x3102, 0, 0, NC370F },
-	{ PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_5706S,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5706S },
-	{ PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_5708S,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5708S },
-	{ PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_5709,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5709 },
-	{ PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_5709S,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5709S },
-	{ PCI_VENDOR_ID_BROADCOM, 0x163b,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5716 },
-	{ PCI_VENDOR_ID_BROADCOM, 0x163c,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5716S },
-	{ 0, }
+	{
+		PCI_VDEVICE_SUB(BROADCOM, PCI_DEVICE_ID_NX2_5706,
+				PCI_VENDOR_ID_HP, 0x3101),
+		.driver_data = NC370T,
+	}, {
+		PCI_VDEVICE_SUB(BROADCOM, PCI_DEVICE_ID_NX2_5706,
+				PCI_VENDOR_ID_HP, 0x3106),
+		.driver_data = NC370I,
+	}, {
+		PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_5706),
+		.driver_data = BCM5706,
+	}, {
+		PCI_VDEVICE_SUB(BROADCOM, PCI_DEVICE_ID_NX2_5708,
+				PCI_ANY_ID, PCI_ANY_ID),
+		.driver_data = BCM5708,
+	}, {
+		PCI_VDEVICE_SUB(BROADCOM, PCI_DEVICE_ID_NX2_5706S,
+				PCI_VENDOR_ID_HP, 0x3102),
+		.driver_data = NC370F,
+	}, {
+		PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_5706S),
+		.driver_data = BCM5706S,
+	}, {
+		PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_5708S),
+		.driver_data = BCM5708S,
+	}, {
+		PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_5709),
+		.driver_data = BCM5709,
+	}, {
+		PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_5709S),
+		.driver_data = BCM5709S,
+	}, {
+		PCI_VDEVICE(BROADCOM, 0x163b),
+		.driver_data = BCM5716,
+	}, {
+		PCI_VDEVICE(BROADCOM, 0x163c),
+		.driver_data = BCM5716S,
+	},
+	{ }
 };
 
 static const struct flash_spec flash_table[] =
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
index da0f8c353e6a..6f96645ff23f 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
@@ -259,31 +259,31 @@ static struct {
 #endif
 
 static const struct pci_device_id bnx2x_pci_tbl[] = {
-	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57710), BCM57710 },
-	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57711), BCM57711 },
-	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57711E), BCM57711E },
-	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57712), BCM57712 },
-	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57712_MF), BCM57712_MF },
-	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57712_VF), BCM57712_VF },
-	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57800), BCM57800 },
-	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57800_MF), BCM57800_MF },
-	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57800_VF), BCM57800_VF },
-	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57810), BCM57810 },
-	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57810_MF), BCM57810_MF },
-	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57840_O), BCM57840_O },
-	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57840_4_10), BCM57840_4_10 },
-	{ PCI_VDEVICE(QLOGIC,	PCI_DEVICE_ID_NX2_57840_4_10), BCM57840_4_10 },
-	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57840_2_20), BCM57840_2_20 },
-	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57810_VF), BCM57810_VF },
-	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57840_MFO), BCM57840_MFO },
-	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57840_MF), BCM57840_MF },
-	{ PCI_VDEVICE(QLOGIC,	PCI_DEVICE_ID_NX2_57840_MF), BCM57840_MF },
-	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57840_VF), BCM57840_VF },
-	{ PCI_VDEVICE(QLOGIC,	PCI_DEVICE_ID_NX2_57840_VF), BCM57840_VF },
-	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57811), BCM57811 },
-	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57811_MF), BCM57811_MF },
-	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57811_VF), BCM57811_VF },
-	{ 0 }
+	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57710), .driver_data = BCM57710 },
+	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57711), .driver_data = BCM57711 },
+	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57711E), .driver_data = BCM57711E },
+	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57712), .driver_data = BCM57712 },
+	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57712_MF), .driver_data = BCM57712_MF },
+	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57712_VF), .driver_data = BCM57712_VF },
+	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57800), .driver_data = BCM57800 },
+	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57800_MF), .driver_data = BCM57800_MF },
+	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57800_VF), .driver_data = BCM57800_VF },
+	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57810), .driver_data = BCM57810 },
+	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57810_MF), .driver_data = BCM57810_MF },
+	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57840_O), .driver_data = BCM57840_O },
+	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57840_4_10), .driver_data = BCM57840_4_10 },
+	{ PCI_VDEVICE(QLOGIC,	PCI_DEVICE_ID_NX2_57840_4_10), .driver_data = BCM57840_4_10 },
+	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57840_2_20), .driver_data = BCM57840_2_20 },
+	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57810_VF), .driver_data = BCM57810_VF },
+	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57840_MFO), .driver_data = BCM57840_MFO },
+	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57840_MF), .driver_data = BCM57840_MF },
+	{ PCI_VDEVICE(QLOGIC,	PCI_DEVICE_ID_NX2_57840_MF), .driver_data = BCM57840_MF },
+	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57840_VF), .driver_data = BCM57840_VF },
+	{ PCI_VDEVICE(QLOGIC,	PCI_DEVICE_ID_NX2_57840_VF), .driver_data = BCM57840_VF },
+	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57811), .driver_data = BCM57811 },
+	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57811_MF), .driver_data = BCM57811_MF },
+	{ PCI_VDEVICE(BROADCOM, PCI_DEVICE_ID_NX2_57811_VF), .driver_data = BCM57811_VF },
+	{ }
 };
 
 MODULE_DEVICE_TABLE(pci, bnx2x_pci_tbl);
diff --git a/drivers/net/ethernet/cavium/liquidio/lio_main.c b/drivers/net/ethernet/cavium/liquidio/lio_main.c
index c1a3df225254..0db08ac3d098 100644
--- a/drivers/net/ethernet/cavium/liquidio/lio_main.c
+++ b/drivers/net/ethernet/cavium/liquidio/lio_main.c
@@ -404,17 +404,15 @@ static const struct pci_error_handlers liquidio_err_handler = {
 
 static const struct pci_device_id liquidio_pci_tbl[] = {
 	{       /* 68xx */
-		PCI_VENDOR_ID_CAVIUM, 0x91, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0
+		PCI_VDEVICE(CAVIUM, 0x0091)
 	},
 	{       /* 66xx */
-		PCI_VENDOR_ID_CAVIUM, 0x92, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0
+		PCI_VDEVICE(CAVIUM, 0x0092)
 	},
 	{       /* 23xx pf */
-		PCI_VENDOR_ID_CAVIUM, 0x9702, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0
+		PCI_VDEVICE(CAVIUM, 0x9702)
 	},
-	{
-		0, 0, 0, 0, 0, 0, 0
-	}
+	{ }
 };
 MODULE_DEVICE_TABLE(pci, liquidio_pci_tbl);
 
diff --git a/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c b/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c
index 43c595f3b84e..36255352e7ea 100644
--- a/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c
+++ b/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c
@@ -237,12 +237,9 @@ static const struct pci_error_handlers liquidio_vf_err_handler = {
 
 static const struct pci_device_id liquidio_vf_pci_tbl[] = {
 	{
-		PCI_VENDOR_ID_CAVIUM, OCTEON_CN23XX_VF_VID,
-		PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0
+		PCI_VDEVICE(CAVIUM, OCTEON_CN23XX_VF_VID),
 	},
-	{
-		0, 0, 0, 0, 0, 0, 0
-	}
+	{ }
 };
 MODULE_DEVICE_TABLE(pci, liquidio_vf_pci_tbl);
 
diff --git a/drivers/net/ethernet/chelsio/cxgb/common.h b/drivers/net/ethernet/chelsio/cxgb/common.h
index 304bb282ab03..292f8ec248e2 100644
--- a/drivers/net/ethernet/chelsio/cxgb/common.h
+++ b/drivers/net/ethernet/chelsio/cxgb/common.h
@@ -48,7 +48,7 @@
 #define DRV_NAME "cxgb"
 
 #define CH_DEVICE(devid, ssid, idx) \
-	{ PCI_VENDOR_ID_CHELSIO, devid, PCI_ANY_ID, ssid, 0, 0, idx }
+	{ PCI_VDEVICE_SUB(CHELSIO, devid, PCI_ANY_ID, ssid), .driver_data = idx }
 
 #define SUPPORTED_PAUSE       (1 << 13)
 #define SUPPORTED_LOOPBACK    (1 << 15)
diff --git a/drivers/net/ethernet/chelsio/cxgb/subr.c b/drivers/net/ethernet/chelsio/cxgb/subr.c
index 367a9e4581d5..d4488e400bc6 100644
--- a/drivers/net/ethernet/chelsio/cxgb/subr.c
+++ b/drivers/net/ethernet/chelsio/cxgb/subr.c
@@ -533,7 +533,7 @@ const struct pci_device_id t1_pci_tbl[] = {
 	CH_DEVICE(11, 1, CH_BRD_T210_1F),
 	CH_DEVICE(14, 1, CH_BRD_T210_1CU),
 	CH_DEVICE(16, 1, CH_BRD_N204_4CU),
-	{ 0 }
+	{ }
 };
 
 MODULE_DEVICE_TABLE(pci, t1_pci_tbl);
diff --git a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
index 88b6d76817e9..3bee82bc0680 100644
--- a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
+++ b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
@@ -83,7 +83,7 @@ enum {
 #define EEPROM_MAGIC 0x38E2F10C
 
 #define CH_DEVICE(devid, idx) \
-	{ PCI_VENDOR_ID_CHELSIO, devid, PCI_ANY_ID, PCI_ANY_ID, 0, 0, idx }
+	{ PCI_VDEVICE(CHELSIO, devid), .driver_data = idx }
 
 static const struct pci_device_id cxgb3_pci_tbl[] = {
 	CH_DEVICE(0x20, 0),	/* PE9000 */
@@ -99,7 +99,7 @@ static const struct pci_device_id cxgb3_pci_tbl[] = {
 	CH_DEVICE(0x35, 6),	/* T3C20-derived T3C10 */
 	CH_DEVICE(0x36, 3),	/* S320E-CR */
 	CH_DEVICE(0x37, 7),	/* N320E-G2 */
-	{0,}
+	{ }
 };
 
 MODULE_DESCRIPTION(DRV_DESC);
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
index 10694d5924ee..6df98fca932f 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
@@ -112,10 +112,10 @@ char cxgb4_driver_name[] = KBUILD_MODNAME;
 #define CH_PCI_DEVICE_ID_FUNCTION2 0x0
 
 #define CH_PCI_ID_TABLE_ENTRY(devid) \
-		{PCI_VDEVICE(CHELSIO, (devid)), CXGB4_UNIFIED_PF}
+		{ PCI_VDEVICE(CHELSIO, (devid)), .driver_data = CXGB4_UNIFIED_PF }
 
 #define CH_PCI_DEVICE_ID_TABLE_DEFINE_END \
-		{ 0, } \
+		{ } \
 	}
 
 #include "t4_pci_id_tbl.h"
diff --git a/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c b/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
index 9eaa9aadee33..37b53cc64f39 100644
--- a/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
+++ b/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
@@ -3388,9 +3388,9 @@ static void cxgb4vf_pci_shutdown(struct pci_dev *pdev)
 #define CH_PCI_DEVICE_ID_FUNCTION	0x8
 
 #define CH_PCI_ID_TABLE_ENTRY(devid) \
-		{ PCI_VDEVICE(CHELSIO, (devid)), 0 }
+		{ PCI_VDEVICE(CHELSIO, (devid)) }
 
-#define CH_PCI_DEVICE_ID_TABLE_DEFINE_END { 0, } }
+#define CH_PCI_DEVICE_ID_TABLE_DEFINE_END { } }
 
 #include "../cxgb4/t4_pci_id_tbl.h"
 
diff --git a/drivers/net/ethernet/dec/tulip/de2104x.c b/drivers/net/ethernet/dec/tulip/de2104x.c
index f9504f340c4a..f38a10c79907 100644
--- a/drivers/net/ethernet/dec/tulip/de2104x.c
+++ b/drivers/net/ethernet/dec/tulip/de2104x.c
@@ -333,10 +333,8 @@ static unsigned int de_ok_to_advertise (struct de_private *de, u32 new_media);
 
 
 static const struct pci_device_id de_pci_tbl[] = {
-	{ PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_TULIP,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
-	{ PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_TULIP_PLUS,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1 },
+	{ PCI_VDEVICE(DEC, PCI_DEVICE_ID_DEC_TULIP), .driver_data = 0 },
+	{ PCI_VDEVICE(DEC, PCI_DEVICE_ID_DEC_TULIP_PLUS), .driver_data = 1 },
 	{ },
 };
 MODULE_DEVICE_TABLE(pci, de_pci_tbl);
diff --git a/drivers/net/ethernet/dec/tulip/dmfe.c b/drivers/net/ethernet/dec/tulip/dmfe.c
index 2d3bd343b6e6..dabc091a0c66 100644
--- a/drivers/net/ethernet/dec/tulip/dmfe.c
+++ b/drivers/net/ethernet/dec/tulip/dmfe.c
@@ -2076,11 +2076,11 @@ static void dmfe_HPNA_remote_cmd_chk(struct dmfe_board_info * db)
 
 
 static const struct pci_device_id dmfe_pci_tbl[] = {
-	{ 0x1282, 0x9132, PCI_ANY_ID, PCI_ANY_ID, 0, 0, PCI_DM9132_ID },
-	{ 0x1282, 0x9102, PCI_ANY_ID, PCI_ANY_ID, 0, 0, PCI_DM9102_ID },
-	{ 0x1282, 0x9100, PCI_ANY_ID, PCI_ANY_ID, 0, 0, PCI_DM9100_ID },
-	{ 0x1282, 0x9009, PCI_ANY_ID, PCI_ANY_ID, 0, 0, PCI_DM9009_ID },
-	{ 0, }
+	{ PCI_DEVICE(0x1282, 0x9132), .driver_data = PCI_DM9132_ID },
+	{ PCI_DEVICE(0x1282, 0x9102), .driver_data = PCI_DM9102_ID },
+	{ PCI_DEVICE(0x1282, 0x9100), .driver_data = PCI_DM9100_ID },
+	{ PCI_DEVICE(0x1282, 0x9009), .driver_data = PCI_DM9009_ID },
+	{ }
 };
 MODULE_DEVICE_TABLE(pci, dmfe_pci_tbl);
 
@@ -2101,7 +2101,7 @@ static int __maybe_unused dmfe_suspend(struct device *dev_d)
 	dw32(DCR7, 0);
 	dw32(DCR5, dr32(DCR5));
 
-	/* Fre RX buffers */
+	/* Free RX buffers */
 	dmfe_free_rxbuffer(db);
 
 	/* Enable WOL */
diff --git a/drivers/net/ethernet/dec/tulip/tulip_core.c b/drivers/net/ethernet/dec/tulip/tulip_core.c
index b608585f1954..a7200eb66594 100644
--- a/drivers/net/ethernet/dec/tulip/tulip_core.c
+++ b/drivers/net/ethernet/dec/tulip/tulip_core.c
@@ -196,45 +196,45 @@ const struct tulip_chip_table tulip_tbl[] = {
 
 
 static const struct pci_device_id tulip_pci_tbl[] = {
-	{ 0x1011, 0x0009, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DC21140 },
-	{ 0x1011, 0x0019, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DC21143 },
-	{ 0x11AD, 0x0002, PCI_ANY_ID, PCI_ANY_ID, 0, 0, LC82C168 },
-	{ 0x10d9, 0x0512, PCI_ANY_ID, PCI_ANY_ID, 0, 0, MX98713 },
-	{ 0x10d9, 0x0531, PCI_ANY_ID, PCI_ANY_ID, 0, 0, MX98715 },
-/*	{ 0x10d9, 0x0531, PCI_ANY_ID, PCI_ANY_ID, 0, 0, MX98725 },*/
-	{ 0x125B, 0x1400, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AX88140 },
-	{ 0x11AD, 0xc115, PCI_ANY_ID, PCI_ANY_ID, 0, 0, PNIC2 },
-	{ 0x1317, 0x0981, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
-	{ 0x1317, 0x0985, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
-	{ 0x1317, 0x1985, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
-	{ 0x1317, 0x9511, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
-	{ 0x13D1, 0xAB02, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
-	{ 0x13D1, 0xAB03, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
-	{ 0x13D1, 0xAB08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
-	{ 0x104A, 0x0981, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
-	{ 0x104A, 0x2774, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
-	{ 0x1259, 0xa120, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
-	{ 0x11F6, 0x9881, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMPEX9881 },
-	{ 0x8086, 0x0039, PCI_ANY_ID, PCI_ANY_ID, 0, 0, I21145 },
+	{ PCI_DEVICE(0x1011, 0x0009), .driver_data = DC21140 },
+	{ PCI_DEVICE(0x1011, 0x0019), .driver_data = DC21143 },
+	{ PCI_DEVICE(0x11AD, 0x0002), .driver_data = LC82C168 },
+	{ PCI_DEVICE(0x10d9, 0x0512), .driver_data = MX98713 },
+	{ PCI_DEVICE(0x10d9, 0x0531), .driver_data = MX98715 },
+/*	{ PCI_DEVICE(0x10d9, 0x0531), .driver_data = MX98725 },*/
+	{ PCI_DEVICE(0x125B, 0x1400), .driver_data = AX88140 },
+	{ PCI_DEVICE(0x11AD, 0xc115), .driver_data = PNIC2 },
+	{ PCI_DEVICE(0x1317, 0x0981), .driver_data = COMET },
+	{ PCI_DEVICE(0x1317, 0x0985), .driver_data = COMET },
+	{ PCI_DEVICE(0x1317, 0x1985), .driver_data = COMET },
+	{ PCI_DEVICE(0x1317, 0x9511), .driver_data = COMET },
+	{ PCI_DEVICE(0x13D1, 0xAB02), .driver_data = COMET },
+	{ PCI_DEVICE(0x13D1, 0xAB03), .driver_data = COMET },
+	{ PCI_DEVICE(0x13D1, 0xAB08), .driver_data = COMET },
+	{ PCI_DEVICE(0x104A, 0x0981), .driver_data = COMET },
+	{ PCI_DEVICE(0x104A, 0x2774), .driver_data = COMET },
+	{ PCI_DEVICE(0x1259, 0xa120), .driver_data = COMET },
+	{ PCI_DEVICE(0x11F6, 0x9881), .driver_data = COMPEX9881 },
+	{ PCI_DEVICE(0x8086, 0x0039), .driver_data = I21145 },
 #ifdef CONFIG_TULIP_DM910X
-	{ 0x1282, 0x9100, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DM910X },
-	{ 0x1282, 0x9102, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DM910X },
+	{ PCI_DEVICE(0x1282, 0x9100), .driver_data = DM910X },
+	{ PCI_DEVICE(0x1282, 0x9102), .driver_data = DM910X },
 #endif
-	{ 0x1113, 0x1216, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
-	{ 0x1113, 0x1217, PCI_ANY_ID, PCI_ANY_ID, 0, 0, MX98715 },
-	{ 0x1113, 0x9511, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
-	{ 0x1186, 0x1541, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
-	{ 0x1186, 0x1561, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
-	{ 0x1186, 0x1591, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
-	{ 0x14f1, 0x1803, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CONEXANT },
-	{ 0x1626, 0x8410, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
-	{ 0x1737, 0xAB09, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
-	{ 0x1737, 0xAB08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
-	{ 0x17B3, 0xAB08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
-	{ 0x10b7, 0x9300, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET }, /* 3Com 3CSOHO100B-TX */
-	{ 0x14ea, 0xab08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET }, /* Planex FNW-3602-TX */
-	{ 0x1414, 0x0001, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET }, /* Microsoft MN-120 */
-	{ 0x1414, 0x0002, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
+	{ PCI_DEVICE(0x1113, 0x1216), .driver_data = COMET },
+	{ PCI_DEVICE(0x1113, 0x1217), .driver_data = MX98715 },
+	{ PCI_DEVICE(0x1113, 0x9511), .driver_data = COMET },
+	{ PCI_DEVICE(0x1186, 0x1541), .driver_data = COMET },
+	{ PCI_DEVICE(0x1186, 0x1561), .driver_data = COMET },
+	{ PCI_DEVICE(0x1186, 0x1591), .driver_data = COMET },
+	{ PCI_DEVICE(0x14f1, 0x1803), .driver_data = CONEXANT },
+	{ PCI_DEVICE(0x1626, 0x8410), .driver_data = COMET },
+	{ PCI_DEVICE(0x1737, 0xAB09), .driver_data = COMET },
+	{ PCI_DEVICE(0x1737, 0xAB08), .driver_data = COMET },
+	{ PCI_DEVICE(0x17B3, 0xAB08), .driver_data = COMET },
+	{ PCI_DEVICE(0x10b7, 0x9300), .driver_data = COMET }, /* 3Com 3CSOHO100B-TX */
+	{ PCI_DEVICE(0x14ea, 0xab08), .driver_data = COMET }, /* Planex FNW-3602-TX */
+	{ PCI_DEVICE(0x1414, 0x0001), .driver_data = COMET }, /* Microsoft MN-120 */
+	{ PCI_DEVICE(0x1414, 0x0002), .driver_data = COMET },
 	{ } /* terminate list */
 };
 MODULE_DEVICE_TABLE(pci, tulip_pci_tbl);
@@ -1279,8 +1279,8 @@ static const struct net_device_ops tulip_netdev_ops = {
 };
 
 static const struct pci_device_id early_486_chipsets[] = {
-	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82424) },
-	{ PCI_DEVICE(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_496) },
+	{ PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_82424) },
+	{ PCI_VDEVICE(SI, PCI_DEVICE_ID_SI_496) },
 	{ },
 };
 
diff --git a/drivers/net/ethernet/dec/tulip/uli526x.c b/drivers/net/ethernet/dec/tulip/uli526x.c
index 6e4d8d31aba9..34b234b6b159 100644
--- a/drivers/net/ethernet/dec/tulip/uli526x.c
+++ b/drivers/net/ethernet/dec/tulip/uli526x.c
@@ -1728,9 +1728,9 @@ static u16 phy_read_1bit(struct uli526x_board_info *db)
 
 
 static const struct pci_device_id uli526x_pci_tbl[] = {
-	{ 0x10B9, 0x5261, PCI_ANY_ID, PCI_ANY_ID, 0, 0, PCI_ULI5261_ID },
-	{ 0x10B9, 0x5263, PCI_ANY_ID, PCI_ANY_ID, 0, 0, PCI_ULI5263_ID },
-	{ 0, }
+	{ PCI_DEVICE(0x10B9, 0x5261), .driver_data = PCI_ULI5261_ID },
+	{ PCI_DEVICE(0x10B9, 0x5263), .driver_data = PCI_ULI5263_ID },
+	{ }
 };
 MODULE_DEVICE_TABLE(pci, uli526x_pci_tbl);
 
diff --git a/drivers/net/ethernet/dec/tulip/winbond-840.c b/drivers/net/ethernet/dec/tulip/winbond-840.c
index a24a25a5f73d..a5581f1d0141 100644
--- a/drivers/net/ethernet/dec/tulip/winbond-840.c
+++ b/drivers/net/ethernet/dec/tulip/winbond-840.c
@@ -210,9 +210,16 @@ enum chip_capability_flags {
 };
 
 static const struct pci_device_id w840_pci_tbl[] = {
-	{ 0x1050, 0x0840, PCI_ANY_ID, 0x8153,     0, 0, 0 },
-	{ 0x1050, 0x0840, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1 },
-	{ 0x11f6, 0x2011, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2 },
+	{
+		PCI_DEVICE_SUB(0x1050, 0x0840, PCI_ANY_ID, 0x8153),
+		.driver_data = 0,
+	}, {
+		PCI_DEVICE(0x1050, 0x0840),
+		.driver_data = 1,
+	}, {
+		PCI_DEVICE(0x11f6, 0x2011),
+		.driver_data = 2,
+	},
 	{ }
 };
 MODULE_DEVICE_TABLE(pci, w840_pci_tbl);
diff --git a/drivers/net/ethernet/dlink/dl2k.h b/drivers/net/ethernet/dlink/dl2k.h
index 9ebf7a6db93e..00ef7d03b4d6 100644
--- a/drivers/net/ethernet/dlink/dl2k.h
+++ b/drivers/net/ethernet/dlink/dl2k.h
@@ -418,12 +418,12 @@ struct netdev_private {
 #define CHIP_IP1000A	1
 
 static const struct pci_device_id rio_pci_tbl[] = {
-	{0x1186, 0x4000, PCI_ANY_ID, PCI_ANY_ID, },
-	{0x13f0, 0x1021, PCI_ANY_ID, PCI_ANY_ID, },
-	{ PCI_VDEVICE(SUNDANCE,	0x1023), CHIP_IP1000A },
-	{ PCI_VDEVICE(SUNDANCE,	0x2021), CHIP_IP1000A },
-	{ PCI_VDEVICE(DLINK,	0x9021), CHIP_IP1000A },
-	{ PCI_VDEVICE(DLINK,	0x4020), CHIP_IP1000A },
+	{ PCI_DEVICE(0x1186, 0x4000) },
+	{ PCI_DEVICE(0x13f0, 0x1021) },
+	{ PCI_VDEVICE(SUNDANCE,	0x1023), .driver_data = CHIP_IP1000A },
+	{ PCI_VDEVICE(SUNDANCE,	0x2021), .driver_data = CHIP_IP1000A },
+	{ PCI_VDEVICE(DLINK,	0x9021), .driver_data = CHIP_IP1000A },
+	{ PCI_VDEVICE(DLINK,	0x4020), .driver_data = CHIP_IP1000A },
 	{ }
 };
 MODULE_DEVICE_TABLE (pci, rio_pci_tbl);
diff --git a/drivers/net/ethernet/dlink/sundance.c b/drivers/net/ethernet/dlink/sundance.c
index 277c50ef773f..58873fcd3eaf 100644
--- a/drivers/net/ethernet/dlink/sundance.c
+++ b/drivers/net/ethernet/dlink/sundance.c
@@ -192,13 +192,13 @@ IVc. Errata
 #endif
 
 static const struct pci_device_id sundance_pci_tbl[] = {
-	{ 0x1186, 0x1002, 0x1186, 0x1002, 0, 0, 0 },
-	{ 0x1186, 0x1002, 0x1186, 0x1003, 0, 0, 1 },
-	{ 0x1186, 0x1002, 0x1186, 0x1012, 0, 0, 2 },
-	{ 0x1186, 0x1002, 0x1186, 0x1040, 0, 0, 3 },
-	{ 0x1186, 0x1002, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4 },
-	{ 0x13F0, 0x0201, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 5 },
-	{ 0x13F0, 0x0200, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 6 },
+	{ PCI_DEVICE_SUB(0x1186, 0x1002, 0x1186, 0x1002), .driver_data = 0 },
+	{ PCI_DEVICE_SUB(0x1186, 0x1002, 0x1186, 0x1003), .driver_data = 1 },
+	{ PCI_DEVICE_SUB(0x1186, 0x1002, 0x1186, 0x1012), .driver_data = 2 },
+	{ PCI_DEVICE_SUB(0x1186, 0x1002, 0x1186, 0x1040), .driver_data = 3 },
+	{ PCI_DEVICE(0x1186, 0x1002), .driver_data = 4 },
+	{ PCI_DEVICE(0x13F0, 0x0201), .driver_data = 5 },
+	{ PCI_DEVICE(0x13F0, 0x0200), .driver_data = 6 },
 	{ }
 };
 MODULE_DEVICE_TABLE(pci, sundance_pci_tbl);
diff --git a/drivers/net/ethernet/fealnx.c b/drivers/net/ethernet/fealnx.c
index 3c9961806f75..bdc38aac5850 100644
--- a/drivers/net/ethernet/fealnx.c
+++ b/drivers/net/ethernet/fealnx.c
@@ -1935,10 +1935,10 @@ static int netdev_close(struct net_device *dev)
 }
 
 static const struct pci_device_id fealnx_pci_tbl[] = {
-	{0x1516, 0x0800, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
-	{0x1516, 0x0803, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1},
-	{0x1516, 0x0891, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2},
-	{} /* terminate list */
+	{ PCI_DEVICE(0x1516, 0x0800), .driver_data = 0 },
+	{ PCI_DEVICE(0x1516, 0x0803), .driver_data = 1 },
+	{ PCI_DEVICE(0x1516, 0x0891), .driver_data = 2 },
+	{ } /* terminate list */
 };
 MODULE_DEVICE_TABLE(pci, fealnx_pci_tbl);
 
diff --git a/drivers/net/ethernet/hisilicon/hibmcge/hbg_main.c b/drivers/net/ethernet/hisilicon/hibmcge/hbg_main.c
index 068da2fd1fea..b3e01b2f8319 100644
--- a/drivers/net/ethernet/hisilicon/hibmcge/hbg_main.c
+++ b/drivers/net/ethernet/hisilicon/hibmcge/hbg_main.c
@@ -489,7 +489,7 @@ static void hbg_shutdown(struct pci_dev *pdev)
 }
 
 static const struct pci_device_id hbg_pci_tbl[] = {
-	{PCI_VDEVICE(HUAWEI, 0x3730), 0},
+	{ PCI_VDEVICE(HUAWEI, 0x3730) },
 	{ }
 };
 MODULE_DEVICE_TABLE(pci, hbg_pci_tbl);
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
index a3206c97923e..4c34a144d21c 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
@@ -86,25 +86,39 @@ module_param(page_pool_enabled, bool, 0400);
  *   Class, Class Mask, private data (not used) }
  */
 static const struct pci_device_id hns3_pci_tbl[] = {
-	{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_GE), 0},
-	{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE), 0},
-	{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE_RDMA),
-	 HNAE3_DEV_SUPPORT_ROCE_DCB_BITS},
-	{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE_RDMA_MACSEC),
-	 HNAE3_DEV_SUPPORT_ROCE_DCB_BITS},
-	{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_50GE_RDMA),
-	 HNAE3_DEV_SUPPORT_ROCE_DCB_BITS},
-	{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_50GE_RDMA_MACSEC),
-	 HNAE3_DEV_SUPPORT_ROCE_DCB_BITS},
-	{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_100G_RDMA_MACSEC),
-	 HNAE3_DEV_SUPPORT_ROCE_DCB_BITS},
-	{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_200G_RDMA),
-	 HNAE3_DEV_SUPPORT_ROCE_DCB_BITS},
-	{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_VF), 0},
-	{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_RDMA_DCB_PFC_VF),
-	 HNAE3_DEV_SUPPORT_ROCE_DCB_BITS},
+	{
+		PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_GE),
+		.driver_data = 0,
+	}, {
+		PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE),
+		.driver_data = 0,
+	}, {
+		PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE_RDMA),
+		.driver_data = HNAE3_DEV_SUPPORT_ROCE_DCB_BITS,
+	}, {
+		PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE_RDMA_MACSEC),
+		.driver_data = HNAE3_DEV_SUPPORT_ROCE_DCB_BITS,
+	}, {
+		PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_50GE_RDMA),
+		.driver_data = HNAE3_DEV_SUPPORT_ROCE_DCB_BITS,
+	}, {
+		PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_50GE_RDMA_MACSEC),
+		.driver_data = HNAE3_DEV_SUPPORT_ROCE_DCB_BITS,
+	}, {
+		PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_100G_RDMA_MACSEC),
+		.driver_data = HNAE3_DEV_SUPPORT_ROCE_DCB_BITS,
+	}, {
+		PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_200G_RDMA),
+		.driver_data = HNAE3_DEV_SUPPORT_ROCE_DCB_BITS,
+	}, {
+		PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_VF),
+		.driver_data = 0,
+	}, {
+		PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_RDMA_DCB_PFC_VF),
+		.driver_data = HNAE3_DEV_SUPPORT_ROCE_DCB_BITS,
+	},
 	/* required last entry */
-	{0,}
+	{ }
 };
 MODULE_DEVICE_TABLE(pci, hns3_pci_tbl);
 
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
index dd4045c773d4..e17b92a411a2 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
@@ -72,16 +72,16 @@ static struct hnae3_ae_algo ae_algo;
 static struct workqueue_struct *hclge_wq;
 
 static const struct pci_device_id ae_algo_pci_tbl[] = {
-	{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_GE), 0},
-	{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE), 0},
-	{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE_RDMA), 0},
-	{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE_RDMA_MACSEC), 0},
-	{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_50GE_RDMA), 0},
-	{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_50GE_RDMA_MACSEC), 0},
-	{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_100G_RDMA_MACSEC), 0},
-	{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_200G_RDMA), 0},
+	{ PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_GE) },
+	{ PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE) },
+	{ PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE_RDMA) },
+	{ PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_25GE_RDMA_MACSEC) },
+	{ PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_50GE_RDMA) },
+	{ PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_50GE_RDMA_MACSEC) },
+	{ PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_100G_RDMA_MACSEC) },
+	{ PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_200G_RDMA) },
 	/* required last entry */
-	{0, }
+	{ }
 };
 
 MODULE_DEVICE_TABLE(pci, ae_algo_pci_tbl);
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
index 0cc911e6c732..063a692c2b41 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
@@ -26,11 +26,15 @@ static struct hnae3_ae_algo ae_algovf;
 static struct workqueue_struct *hclgevf_wq;
 
 static const struct pci_device_id ae_algovf_pci_tbl[] = {
-	{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_VF), 0},
-	{PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_RDMA_DCB_PFC_VF),
-	 HNAE3_DEV_SUPPORT_ROCE_DCB_BITS},
+	{
+		PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_VF),
+		.driver_data = 0,
+	}, {
+		PCI_VDEVICE(HUAWEI, HNAE3_DEV_ID_RDMA_DCB_PFC_VF),
+		.driver_data = HNAE3_DEV_SUPPORT_ROCE_DCB_BITS,
+	},
 	/* required last entry */
-	{0, }
+	{ }
 };
 
 MODULE_DEVICE_TABLE(pci, ae_algovf_pci_tbl);
diff --git a/drivers/net/ethernet/huawei/hinic/hinic_main.c b/drivers/net/ethernet/huawei/hinic/hinic_main.c
index ae1f523d6841..42f4792d255b 100644
--- a/drivers/net/ethernet/huawei/hinic/hinic_main.c
+++ b/drivers/net/ethernet/huawei/hinic/hinic_main.c
@@ -1467,12 +1467,12 @@ static void hinic_shutdown(struct pci_dev *pdev)
 }
 
 static const struct pci_device_id hinic_pci_table[] = {
-	{ PCI_VDEVICE(HUAWEI, HINIC_DEV_ID_QUAD_PORT_25GE), 0},
-	{ PCI_VDEVICE(HUAWEI, HINIC_DEV_ID_DUAL_PORT_100GE), 0},
-	{ PCI_VDEVICE(HUAWEI, HINIC_DEV_ID_DUAL_PORT_100GE_MEZZ), 0},
-	{ PCI_VDEVICE(HUAWEI, HINIC_DEV_ID_QUAD_PORT_25GE_MEZZ), 0},
-	{ PCI_VDEVICE(HUAWEI, HINIC_DEV_ID_VF), 0},
-	{ 0, 0}
+	{ PCI_VDEVICE(HUAWEI, HINIC_DEV_ID_QUAD_PORT_25GE) },
+	{ PCI_VDEVICE(HUAWEI, HINIC_DEV_ID_DUAL_PORT_100GE) },
+	{ PCI_VDEVICE(HUAWEI, HINIC_DEV_ID_DUAL_PORT_100GE_MEZZ) },
+	{ PCI_VDEVICE(HUAWEI, HINIC_DEV_ID_QUAD_PORT_25GE_MEZZ) },
+	{ PCI_VDEVICE(HUAWEI, HINIC_DEV_ID_VF) },
+	{ }
 };
 MODULE_DEVICE_TABLE(pci, hinic_pci_table);
 
diff --git a/drivers/net/ethernet/huawei/hinic3/hinic3_lld.c b/drivers/net/ethernet/huawei/hinic3/hinic3_lld.c
index f83d5bd1041e..36df807cbe09 100644
--- a/drivers/net/ethernet/huawei/hinic3/hinic3_lld.c
+++ b/drivers/net/ethernet/huawei/hinic3/hinic3_lld.c
@@ -426,10 +426,9 @@ static void hinic3_remove(struct pci_dev *pdev)
 }
 
 static const struct pci_device_id hinic3_pci_table[] = {
-	{PCI_VDEVICE(HUAWEI, PCI_DEV_ID_HINIC3_PF), 0},
-	{PCI_VDEVICE(HUAWEI, PCI_DEV_ID_HINIC3_VF), 0},
-	{0, 0}
-
+	{ PCI_VDEVICE(HUAWEI, PCI_DEV_ID_HINIC3_PF) },
+	{ PCI_VDEVICE(HUAWEI, PCI_DEV_ID_HINIC3_VF) },
+	{ }
 };
 
 MODULE_DEVICE_TABLE(pci, hinic3_pci_table);
diff --git a/drivers/net/ethernet/intel/e100.c b/drivers/net/ethernet/intel/e100.c
index 9074b558de35..29960762e64a 100644
--- a/drivers/net/ethernet/intel/e100.c
+++ b/drivers/net/ethernet/intel/e100.c
@@ -176,9 +176,12 @@ MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)");
 MODULE_PARM_DESC(eeprom_bad_csum_allow, "Allow bad eeprom checksums");
 MODULE_PARM_DESC(use_io, "Force use of i/o access mode");
 
-#define INTEL_8255X_ETHERNET_DEVICE(device_id, ich) {\
-	PCI_VENDOR_ID_INTEL, device_id, PCI_ANY_ID, PCI_ANY_ID, \
-	PCI_CLASS_NETWORK_ETHERNET << 8, 0xFFFF00, ich }
+#define INTEL_8255X_ETHERNET_DEVICE(device_id, ich) { \
+	PCI_DEVICE(PCI_VENDOR_ID_INTEL, (device_id)), \
+	.class = PCI_CLASS_NETWORK_ETHERNET << 8, \
+	.class_mask = 0xFFFF00, \
+	.driver_data = (ich) }
+
 static const struct pci_device_id e100_id_table[] = {
 	INTEL_8255X_ETHERNET_DEVICE(0x1029, 0),
 	INTEL_8255X_ETHERNET_DEVICE(0x1030, 0),
diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
index 7ce0cc8ab8f4..5b7ba1594f0d 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -7799,137 +7799,370 @@ static const struct pci_error_handlers e1000_err_handler = {
 };
 
 static const struct pci_device_id e1000_pci_tbl[] = {
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_COPPER), board_82571 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_FIBER), board_82571 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_QUAD_COPPER), board_82571 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_QUAD_COPPER_LP),
-	  board_82571 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_QUAD_FIBER), board_82571 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_SERDES), board_82571 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_SERDES_DUAL), board_82571 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_SERDES_QUAD), board_82571 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82571PT_QUAD_COPPER), board_82571 },
+	{
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_COPPER),
+		.driver_data = board_82571,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_FIBER),
+		.driver_data = board_82571,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_QUAD_COPPER),
+		.driver_data = board_82571,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_QUAD_COPPER_LP),
+		.driver_data = board_82571,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_QUAD_FIBER),
+		.driver_data = board_82571,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_SERDES),
+		.driver_data = board_82571,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_SERDES_DUAL),
+		.driver_data = board_82571,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_82571EB_SERDES_QUAD),
+		.driver_data = board_82571,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_82571PT_QUAD_COPPER),
+		.driver_data = board_82571,
+	},
 
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82572EI), board_82572 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82572EI_COPPER), board_82572 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82572EI_FIBER), board_82572 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82572EI_SERDES), board_82572 },
+	{
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_82572EI),
+		.driver_data = board_82572,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_82572EI_COPPER),
+		.driver_data = board_82572,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_82572EI_FIBER),
+		.driver_data = board_82572,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_82572EI_SERDES),
+		.driver_data = board_82572,
+	},
 
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82573E), board_82573 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82573E_IAMT), board_82573 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82573L), board_82573 },
+	{
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_82573E),
+		.driver_data = board_82573,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_82573E_IAMT),
+		.driver_data = board_82573,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_82573L),
+		.driver_data = board_82573,
+	},
 
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82574L), board_82574 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82574LA), board_82574 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82583V), board_82583 },
+	{
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_82574L),
+		.driver_data = board_82574,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_82574LA),
+		.driver_data = board_82574,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_82583V),
+		.driver_data = board_82583,
+	},
 
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_80003ES2LAN_COPPER_DPT),
-	  board_80003es2lan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_80003ES2LAN_COPPER_SPT),
-	  board_80003es2lan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_80003ES2LAN_SERDES_DPT),
-	  board_80003es2lan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_80003ES2LAN_SERDES_SPT),
-	  board_80003es2lan },
+	{
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_80003ES2LAN_COPPER_DPT),
+		.driver_data = board_80003es2lan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_80003ES2LAN_COPPER_SPT),
+		.driver_data = board_80003es2lan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_80003ES2LAN_SERDES_DPT),
+		.driver_data = board_80003es2lan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_80003ES2LAN_SERDES_SPT),
+		.driver_data = board_80003es2lan,
+	},
 
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IFE), board_ich8lan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IFE_G), board_ich8lan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IFE_GT), board_ich8lan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IGP_AMT), board_ich8lan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IGP_C), board_ich8lan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IGP_M), board_ich8lan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IGP_M_AMT), board_ich8lan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_82567V_3), board_ich8lan },
+	{
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IFE),
+		.driver_data = board_ich8lan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IFE_G),
+		.driver_data = board_ich8lan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IFE_GT),
+		.driver_data = board_ich8lan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IGP_AMT),
+		.driver_data = board_ich8lan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IGP_C),
+		.driver_data = board_ich8lan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IGP_M),
+		.driver_data = board_ich8lan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_IGP_M_AMT),
+		.driver_data = board_ich8lan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH8_82567V_3),
+		.driver_data = board_ich8lan,
+	},
 
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IFE), board_ich9lan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IFE_G), board_ich9lan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IFE_GT), board_ich9lan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_AMT), board_ich9lan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_C), board_ich9lan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_BM), board_ich9lan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_M), board_ich9lan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_M_AMT), board_ich9lan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_M_V), board_ich9lan },
+	{
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IFE),
+		.driver_data = board_ich9lan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IFE_G),
+		.driver_data = board_ich9lan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IFE_GT),
+		.driver_data = board_ich9lan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_AMT),
+		.driver_data = board_ich9lan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_C),
+		.driver_data = board_ich9lan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_BM),
+		.driver_data = board_ich9lan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_M),
+		.driver_data = board_ich9lan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_M_AMT),
+		.driver_data = board_ich9lan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_M_V),
+		.driver_data = board_ich9lan
+	},
 
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_R_BM_LM), board_ich9lan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_R_BM_LF), board_ich9lan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_R_BM_V), board_ich9lan },
+	{
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_R_BM_LM),
+		.driver_data = board_ich9lan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_R_BM_LF),
+		.driver_data = board_ich9lan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_R_BM_V),
+		.driver_data = board_ich9lan,
+	},
 
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_D_BM_LM), board_ich10lan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_D_BM_LF), board_ich10lan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_D_BM_V), board_ich10lan },
+	{
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_D_BM_LM),
+		.driver_data = board_ich10lan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_D_BM_LF),
+		.driver_data = board_ich10lan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_D_BM_V),
+		.driver_data = board_ich10lan,
+	},
 
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_M_HV_LM), board_pchlan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_M_HV_LC), board_pchlan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_D_HV_DM), board_pchlan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_D_HV_DC), board_pchlan },
+	{
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_M_HV_LM),
+		.driver_data = board_pchlan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_M_HV_LC),
+		.driver_data = board_pchlan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_D_HV_DM),
+		.driver_data = board_pchlan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_D_HV_DC),
+		.driver_data = board_pchlan
+	},
 
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH2_LV_LM), board_pch2lan },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH2_LV_V), board_pch2lan },
+	{
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH2_LV_LM),
+		.driver_data = board_pch2lan,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH2_LV_V),
+		.driver_data = board_pch2lan
+	},
 
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPT_I217_LM), board_pch_lpt },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPT_I217_V), board_pch_lpt },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPTLP_I218_LM), board_pch_lpt },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPTLP_I218_V), board_pch_lpt },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_I218_LM2), board_pch_lpt },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_I218_V2), board_pch_lpt },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_I218_LM3), board_pch_lpt },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_I218_V3), board_pch_lpt },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_LM), board_pch_spt },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_V), board_pch_spt },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_LM2), board_pch_spt },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_V2), board_pch_spt },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LBG_I219_LM3), board_pch_spt },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_LM4), board_pch_spt },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_V4), board_pch_spt },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_LM5), board_pch_spt },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_V5), board_pch_spt },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CNP_I219_LM6), board_pch_cnp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CNP_I219_V6), board_pch_cnp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CNP_I219_LM7), board_pch_cnp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CNP_I219_V7), board_pch_cnp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_LM8), board_pch_cnp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_V8), board_pch_cnp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_LM9), board_pch_cnp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_V9), board_pch_cnp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM10), board_pch_cnp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V10), board_pch_cnp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM11), board_pch_cnp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V11), board_pch_cnp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM12), board_pch_spt },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V12), board_pch_spt },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_LM13), board_pch_tgp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_V13), board_pch_tgp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_LM14), board_pch_tgp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_V14), board_pch_tgp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_LM15), board_pch_tgp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_V15), board_pch_tgp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_LM23), board_pch_adp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_V23), board_pch_adp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_LM16), board_pch_adp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_V16), board_pch_adp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_LM17), board_pch_adp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_V17), board_pch_adp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_LM22), board_pch_adp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_V22), board_pch_adp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_LM19), board_pch_adp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_V19), board_pch_adp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_MTP_I219_LM18), board_pch_mtp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_MTP_I219_V18), board_pch_mtp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_LM20), board_pch_mtp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_V20), board_pch_mtp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_LM21), board_pch_mtp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_V21), board_pch_mtp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ARL_I219_LM24), board_pch_mtp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ARL_I219_V24), board_pch_mtp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_LM25), board_pch_ptp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_V25), board_pch_ptp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_LM27), board_pch_ptp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_V27), board_pch_ptp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_NVL_I219_LM29), board_pch_ptp },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_NVL_I219_V29), board_pch_ptp },
+	{
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPT_I217_LM),
+		.driver_data = board_pch_lpt,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPT_I217_V),
+		.driver_data = board_pch_lpt,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPTLP_I218_LM),
+		.driver_data = board_pch_lpt,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPTLP_I218_V),
+		.driver_data = board_pch_lpt,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_I218_LM2),
+		.driver_data = board_pch_lpt,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_I218_V2),
+		.driver_data = board_pch_lpt,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_I218_LM3),
+		.driver_data = board_pch_lpt,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_I218_V3),
+		.driver_data = board_pch_lpt,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_LM),
+		.driver_data = board_pch_spt,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_V),
+		.driver_data = board_pch_spt,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_LM2),
+		.driver_data = board_pch_spt,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_V2),
+		.driver_data = board_pch_spt,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LBG_I219_LM3),
+		.driver_data = board_pch_spt,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_LM4),
+		.driver_data = board_pch_spt,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_V4),
+		.driver_data = board_pch_spt,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_LM5),
+		.driver_data = board_pch_spt,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_SPT_I219_V5),
+		.driver_data = board_pch_spt,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CNP_I219_LM6),
+		.driver_data = board_pch_cnp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CNP_I219_V6),
+		.driver_data = board_pch_cnp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CNP_I219_LM7),
+		.driver_data = board_pch_cnp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CNP_I219_V7),
+		.driver_data = board_pch_cnp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_LM8),
+		.driver_data = board_pch_cnp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_V8),
+		.driver_data = board_pch_cnp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_LM9),
+		.driver_data = board_pch_cnp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_V9),
+		.driver_data = board_pch_cnp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM10),
+		.driver_data = board_pch_cnp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V10),
+		.driver_data = board_pch_cnp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM11),
+		.driver_data = board_pch_cnp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V11),
+		.driver_data = board_pch_cnp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM12),
+		.driver_data = board_pch_spt,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V12),
+		.driver_data = board_pch_spt,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_LM13),
+		.driver_data = board_pch_tgp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_V13),
+		.driver_data = board_pch_tgp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_LM14),
+		.driver_data = board_pch_tgp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_V14),
+		.driver_data = board_pch_tgp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_LM15),
+		.driver_data = board_pch_tgp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_TGP_I219_V15),
+		.driver_data = board_pch_tgp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_LM23),
+		.driver_data = board_pch_adp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_V23),
+		.driver_data = board_pch_adp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_LM16),
+		.driver_data = board_pch_adp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_V16),
+		.driver_data = board_pch_adp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_LM17),
+		.driver_data = board_pch_adp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_V17),
+		.driver_data = board_pch_adp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_LM22),
+		.driver_data = board_pch_adp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_V22),
+		.driver_data = board_pch_adp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_LM19),
+		.driver_data = board_pch_adp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_V19),
+		.driver_data = board_pch_adp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_MTP_I219_LM18),
+		.driver_data = board_pch_mtp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_MTP_I219_V18),
+		.driver_data = board_pch_mtp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_LM20),
+		.driver_data = board_pch_mtp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_V20),
+		.driver_data = board_pch_mtp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_LM21),
+		.driver_data = board_pch_mtp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_V21),
+		.driver_data = board_pch_mtp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ARL_I219_LM24),
+		.driver_data = board_pch_mtp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ARL_I219_V24),
+		.driver_data = board_pch_mtp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_LM25),
+		.driver_data = board_pch_ptp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_V25),
+		.driver_data = board_pch_ptp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_LM27),
+		.driver_data = board_pch_ptp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_PTP_I219_V27),
+		.driver_data = board_pch_ptp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_NVL_I219_LM29),
+		.driver_data = board_pch_ptp,
+	}, {
+		PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_NVL_I219_V29),
+		.driver_data = board_pch_ptp
+	},
 
-	{ 0, 0, 0, 0, 0, 0, 0 }	/* terminate list */
+	{ }	/* terminate list */
 };
 MODULE_DEVICE_TABLE(pci, e1000_pci_tbl);
 
diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_pci.c b/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
index d75b8a50413d..f5b4d062709a 100644
--- a/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
+++ b/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
@@ -21,12 +21,12 @@ static const struct fm10k_info *fm10k_info_tbl[] = {
  *   Class, Class Mask, private data (not used) }
  */
 static const struct pci_device_id fm10k_pci_tbl[] = {
-	{ PCI_VDEVICE(INTEL, FM10K_DEV_ID_PF), fm10k_device_pf },
-	{ PCI_VDEVICE(INTEL, FM10K_DEV_ID_SDI_FM10420_QDA2), fm10k_device_pf },
-	{ PCI_VDEVICE(INTEL, FM10K_DEV_ID_SDI_FM10420_DA2), fm10k_device_pf },
-	{ PCI_VDEVICE(INTEL, FM10K_DEV_ID_VF), fm10k_device_vf },
+	{ PCI_VDEVICE(INTEL, FM10K_DEV_ID_PF), .driver_data = fm10k_device_pf },
+	{ PCI_VDEVICE(INTEL, FM10K_DEV_ID_SDI_FM10420_QDA2), .driver_data = fm10k_device_pf },
+	{ PCI_VDEVICE(INTEL, FM10K_DEV_ID_SDI_FM10420_DA2), .driver_data = fm10k_device_pf },
+	{ PCI_VDEVICE(INTEL, FM10K_DEV_ID_VF), .driver_data = fm10k_device_vf },
 	/* required last entry */
-	{ 0, }
+	{ }
 };
 MODULE_DEVICE_TABLE(pci, fm10k_pci_tbl);
 
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 028bd500603a..93faada2d328 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -63,40 +63,43 @@ static bool i40e_is_total_port_shutdown_enabled(struct i40e_pf *pf);
  *   Class, Class Mask, private data (not used) }
  */
 static const struct pci_device_id i40e_pci_tbl[] = {
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_SFP_XL710), 0},
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_QEMU), 0},
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_KX_B), 0},
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_KX_C), 0},
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_QSFP_A), 0},
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_QSFP_B), 0},
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_QSFP_C), 0},
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_1G_BASE_T_BC), 0},
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_10G_BASE_T), 0},
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_10G_BASE_T4), 0},
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_10G_BASE_T_BC), 0},
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_10G_SFP), 0},
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_SFP_XL710) },
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_QEMU) },
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_KX_B) },
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_KX_C) },
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_QSFP_A) },
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_QSFP_B) },
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_QSFP_C) },
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_1G_BASE_T_BC) },
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_10G_BASE_T) },
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_10G_BASE_T4) },
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_10G_BASE_T_BC) },
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_10G_SFP) },
 	/*
 	 * This ID conflicts with ipw2200, but the devices can be differentiated
 	 * because i40e devices use PCI_CLASS_NETWORK_ETHERNET and ipw2200
 	 * devices use PCI_CLASS_NETWORK_OTHER.
 	 */
-	{PCI_DEVICE(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_10G_B),
-		PCI_CLASS_NETWORK_ETHERNET << 8, 0xffff00, 0},
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_KX_X722), 0},
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_QSFP_X722), 0},
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_SFP_X722), 0},
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_1G_BASE_T_X722), 0},
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_10G_BASE_T_X722), 0},
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_SFP_I_X722), 0},
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_SFP_X722_A), 0},
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_20G_KR2), 0},
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_20G_KR2_A), 0},
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_X710_N3000), 0},
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_XXV710_N3000), 0},
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_25G_B), 0},
-	{PCI_VDEVICE(INTEL, I40E_DEV_ID_25G_SFP28), 0},
+	{
+		PCI_DEVICE(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_10G_B),
+		.class = PCI_CLASS_NETWORK_ETHERNET << 8,
+		.class_mask = 0xffff00,
+	},
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_KX_X722) },
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_QSFP_X722) },
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_SFP_X722) },
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_1G_BASE_T_X722) },
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_10G_BASE_T_X722) },
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_SFP_I_X722) },
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_SFP_X722_A) },
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_20G_KR2) },
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_20G_KR2_A) },
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_X710_N3000) },
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_XXV710_N3000) },
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_25G_B) },
+	{ PCI_VDEVICE(INTEL, I40E_DEV_ID_25G_SFP28) },
 	/* required last entry */
-	{0, }
+	{ }
 };
 MODULE_DEVICE_TABLE(pci, i40e_pci_tbl);
 
diff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c b/drivers/net/ethernet/intel/iavf/iavf_main.c
index 3c1465cf0515..f00692f1e459 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_main.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_main.c
@@ -36,12 +36,12 @@ static const char iavf_copyright[] =
  *   Class, Class Mask, private data (not used) }
  */
 static const struct pci_device_id iavf_pci_tbl[] = {
-	{PCI_VDEVICE(INTEL, IAVF_DEV_ID_VF), 0},
-	{PCI_VDEVICE(INTEL, IAVF_DEV_ID_VF_HV), 0},
-	{PCI_VDEVICE(INTEL, IAVF_DEV_ID_X722_VF), 0},
-	{PCI_VDEVICE(INTEL, IAVF_DEV_ID_ADAPTIVE_VF), 0},
+	{ PCI_VDEVICE(INTEL, IAVF_DEV_ID_VF) },
+	{ PCI_VDEVICE(INTEL, IAVF_DEV_ID_VF_HV) },
+	{ PCI_VDEVICE(INTEL, IAVF_DEV_ID_X722_VF) },
+	{ PCI_VDEVICE(INTEL, IAVF_DEV_ID_ADAPTIVE_VF) },
 	/* required last entry */
-	{0, }
+	{ }
 };
 
 MODULE_DEVICE_TABLE(pci, iavf_pci_tbl);
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index ce91dda00ec0..49d46670695f 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -63,40 +63,40 @@ static const struct pci_device_id igb_pci_tbl[] = {
 	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I354_BACKPLANE_1GBPS) },
 	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I354_SGMII) },
 	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I354_BACKPLANE_2_5GBPS) },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I211_COPPER), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_COPPER), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_FIBER), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_SERDES), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_SGMII), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_COPPER_FLASHLESS), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_SERDES_FLASHLESS), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I350_COPPER), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I350_FIBER), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I350_SERDES), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I350_SGMII), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_COPPER), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_FIBER), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_QUAD_FIBER), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_SERDES), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_SGMII), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_COPPER_DUAL), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_DH89XXCC_SGMII), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_DH89XXCC_SERDES), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_DH89XXCC_BACKPLANE), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_DH89XXCC_SFP), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_NS), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_NS_SERDES), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_FIBER), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_SERDES), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_SERDES_QUAD), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_QUAD_COPPER_ET2), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_QUAD_COPPER), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82575EB_COPPER), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82575EB_FIBER_SERDES), board_82575 },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82575GB_QUAD_COPPER), board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I211_COPPER), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_COPPER), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_FIBER), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_SERDES), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_SGMII), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_COPPER_FLASHLESS), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_SERDES_FLASHLESS), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I350_COPPER), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I350_FIBER), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I350_SERDES), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I350_SGMII), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_COPPER), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_FIBER), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_QUAD_FIBER), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_SERDES), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_SGMII), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82580_COPPER_DUAL), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_DH89XXCC_SGMII), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_DH89XXCC_SERDES), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_DH89XXCC_BACKPLANE), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_DH89XXCC_SFP), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_NS), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_NS_SERDES), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_FIBER), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_SERDES), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_SERDES_QUAD), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_QUAD_COPPER_ET2), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_QUAD_COPPER), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82575EB_COPPER), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82575EB_FIBER_SERDES), .driver_data = board_82575 },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82575GB_QUAD_COPPER), .driver_data = board_82575 },
 	/* required last entry */
-	{0, }
+	{ }
 };
 
 MODULE_DEVICE_TABLE(pci, igb_pci_tbl);
diff --git a/drivers/net/ethernet/intel/igbvf/netdev.c b/drivers/net/ethernet/intel/igbvf/netdev.c
index 5d04541072b3..0a3d0a1cba43 100644
--- a/drivers/net/ethernet/intel/igbvf/netdev.c
+++ b/drivers/net/ethernet/intel/igbvf/netdev.c
@@ -2937,8 +2937,8 @@ static const struct pci_error_handlers igbvf_err_handler = {
 };
 
 static const struct pci_device_id igbvf_pci_tbl[] = {
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_VF), board_vf },
-	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I350_VF), board_i350_vf },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_VF), .driver_data = board_vf },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_I350_VF), .driver_data = board_i350_vf },
 	{ } /* terminate list */
 };
 MODULE_DEVICE_TABLE(pci, igbvf_pci_tbl);
diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c
index 8ac16808023c..89b9e1d00fc7 100644
--- a/drivers/net/ethernet/intel/igc/igc_main.c
+++ b/drivers/net/ethernet/intel/igc/igc_main.c
@@ -47,24 +47,24 @@ static const struct igc_info *igc_info_tbl[] = {
 };
 
 static const struct pci_device_id igc_pci_tbl[] = {
-	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_LM), board_base },
-	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_V), board_base },
-	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_I), board_base },
-	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I220_V), board_base },
-	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_K), board_base },
-	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_K2), board_base },
-	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I226_K), board_base },
-	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_LMVP), board_base },
-	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I226_LMVP), board_base },
-	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_IT), board_base },
-	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I226_LM), board_base },
-	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I226_V), board_base },
-	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I226_IT), board_base },
-	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I221_V), board_base },
-	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I226_BLANK_NVM), board_base },
-	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_BLANK_NVM), board_base },
+	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_LM), .driver_data = board_base },
+	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_V), .driver_data = board_base },
+	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_I), .driver_data = board_base },
+	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I220_V), .driver_data = board_base },
+	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_K), .driver_data = board_base },
+	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_K2), .driver_data = board_base },
+	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I226_K), .driver_data = board_base },
+	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_LMVP), .driver_data = board_base },
+	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I226_LMVP), .driver_data = board_base },
+	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_IT), .driver_data = board_base },
+	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I226_LM), .driver_data = board_base },
+	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I226_V), .driver_data = board_base },
+	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I226_IT), .driver_data = board_base },
+	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I221_V), .driver_data = board_base },
+	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I226_BLANK_NVM), .driver_data = board_base },
+	{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_BLANK_NVM), .driver_data = board_base },
 	/* required last entry */
-	{0, }
+	{ }
 };
 
 MODULE_DEVICE_TABLE(pci, igc_pci_tbl);
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index 2646ee6f295f..730a35658c76 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -88,60 +88,60 @@ static const struct ixgbe_info *ixgbe_info_tbl[] = {
  *   Class, Class Mask, private data (not used) }
  */
 static const struct pci_device_id ixgbe_pci_tbl[] = {
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598), board_82598 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AF_DUAL_PORT), board_82598 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AF_SINGLE_PORT), board_82598 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AT), board_82598 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AT2), board_82598 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598EB_CX4), board_82598 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598_CX4_DUAL_PORT), board_82598 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598_DA_DUAL_PORT), board_82598 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM), board_82598 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598EB_XF_LR), board_82598 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598EB_SFP_LOM), board_82598 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598_BX), board_82598 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_KX4), board_82599 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_XAUI_LOM), board_82599 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_KR), board_82599 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP), board_82599 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP_EM), board_82599 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_KX4_MEZZ), board_82599 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_CX4), board_82599 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_BACKPLANE_FCOE), board_82599 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP_FCOE), board_82599 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_T3_LOM), board_82599 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_COMBO_BACKPLANE), board_82599 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X540T), board_X540 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP_SF2), board_82599 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_LS), board_82599 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_QSFP_SF_QP), board_82599 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599EN_SFP), board_82599 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP_SF_QP), board_82599 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X540T1), board_X540 },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550T), board_X550},
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550T1), board_X550},
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_KX4), board_X550EM_x},
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_XFI), board_X550EM_x},
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_KR), board_X550EM_x},
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_10G_T), board_X550EM_x},
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_SFP), board_X550EM_x},
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_1G_T), board_x550em_x_fw},
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_KR), board_x550em_a },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_KR_L), board_x550em_a },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_SFP_N), board_x550em_a },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_SGMII), board_x550em_a },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_SGMII_L), board_x550em_a },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_10G_T), board_x550em_a},
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_SFP), board_x550em_a },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_1G_T), board_x550em_a_fw },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_1G_T_L), board_x550em_a_fw },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_BACKPLANE), board_e610},
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_SFP), board_e610},
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_10G_T), board_e610},
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_2_5G_T), board_e610},
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_SGMII), board_e610},
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598), .driver_data = board_82598 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AF_DUAL_PORT), .driver_data = board_82598 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AF_SINGLE_PORT), .driver_data = board_82598 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AT), .driver_data = board_82598 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AT2), .driver_data = board_82598 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598EB_CX4), .driver_data = board_82598 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598_CX4_DUAL_PORT), .driver_data = board_82598 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598_DA_DUAL_PORT), .driver_data = board_82598 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM), .driver_data = board_82598 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598EB_XF_LR), .driver_data = board_82598 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598EB_SFP_LOM), .driver_data = board_82598 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598_BX), .driver_data = board_82598 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_KX4), .driver_data = board_82599 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_XAUI_LOM), .driver_data = board_82599 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_KR), .driver_data = board_82599 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP), .driver_data = board_82599 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP_EM), .driver_data = board_82599 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_KX4_MEZZ), .driver_data = board_82599 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_CX4), .driver_data = board_82599 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_BACKPLANE_FCOE), .driver_data = board_82599 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP_FCOE), .driver_data = board_82599 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_T3_LOM), .driver_data = board_82599 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_COMBO_BACKPLANE), .driver_data = board_82599 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X540T), .driver_data = board_X540 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP_SF2), .driver_data = board_82599 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_LS), .driver_data = board_82599 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_QSFP_SF_QP), .driver_data = board_82599 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599EN_SFP), .driver_data = board_82599 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP_SF_QP), .driver_data = board_82599 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X540T1), .driver_data = board_X540 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550T), .driver_data = board_X550 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550T1), .driver_data = board_X550 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_KX4), .driver_data = board_X550EM_x },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_XFI), .driver_data = board_X550EM_x },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_KR), .driver_data = board_X550EM_x },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_10G_T), .driver_data = board_X550EM_x },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_SFP), .driver_data = board_X550EM_x },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_1G_T), .driver_data = board_x550em_x_fw },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_KR), .driver_data = board_x550em_a },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_KR_L), .driver_data = board_x550em_a },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_SFP_N), .driver_data = board_x550em_a },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_SGMII), .driver_data = board_x550em_a },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_SGMII_L), .driver_data = board_x550em_a },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_10G_T), .driver_data = board_x550em_a },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_SFP), .driver_data = board_x550em_a },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_1G_T), .driver_data = board_x550em_a_fw },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_1G_T_L), .driver_data = board_x550em_a_fw },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_BACKPLANE), .driver_data = board_e610 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_SFP), .driver_data = board_e610 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_10G_T), .driver_data = board_e610 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_2_5G_T), .driver_data = board_e610 },
+	{ PCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_SGMII), .driver_data = board_e610 },
 	/* required last entry */
-	{0, }
+	{ }
 };
 MODULE_DEVICE_TABLE(pci, ixgbe_pci_tbl);
 
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
index 42f89a179a3f..b5d15c1f0d4f 100644
--- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
+++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
@@ -64,20 +64,43 @@ static const struct ixgbevf_info *ixgbevf_info_tbl[] = {
  *   Class, Class Mask, private data (not used) }
  */
 static const struct pci_device_id ixgbevf_pci_tbl[] = {
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_VF), board_82599_vf },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_VF_HV), board_82599_vf_hv },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X540_VF), board_X540_vf },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X540_VF_HV), board_X540_vf_hv },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550_VF), board_X550_vf },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550_VF_HV), board_X550_vf_hv },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_VF), board_X550EM_x_vf },
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_VF_HV), board_X550EM_x_vf_hv},
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_VF), board_x550em_a_vf },
-	{PCI_VDEVICE_SUB(INTEL, IXGBE_DEV_ID_E610_VF, PCI_ANY_ID,
-			 IXGBE_SUBDEV_ID_E610_VF_HV), board_e610_vf_hv},
-	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_VF), board_e610_vf},
+	{
+		PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_VF),
+		.driver_data = board_82599_vf,
+	}, {
+		PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_VF_HV),
+		.driver_data = board_82599_vf_hv,
+	}, {
+		PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X540_VF),
+		.driver_data = board_X540_vf,
+	}, {
+		PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X540_VF_HV),
+		.driver_data = board_X540_vf_hv,
+	}, {
+		PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550_VF),
+		.driver_data = board_X550_vf,
+	}, {
+		PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550_VF_HV),
+		.driver_data = board_X550_vf_hv,
+	}, {
+		PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_VF),
+		.driver_data = board_X550EM_x_vf,
+	}, {
+		PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_VF_HV),
+		.driver_data = board_X550EM_x_vf_hv
+	}, {
+		PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_VF),
+		.driver_data = board_x550em_a_vf,
+	}, {
+		PCI_VDEVICE_SUB(INTEL, IXGBE_DEV_ID_E610_VF,
+				PCI_ANY_ID, IXGBE_SUBDEV_ID_E610_VF_HV),
+		.driver_data = board_e610_vf_hv,
+	}, {
+		PCI_VDEVICE(INTEL, IXGBE_DEV_ID_E610_VF),
+		.driver_data = board_e610_vf,
+	},
 	/* required last entry */
-	{0, }
+	{ }
 };
 MODULE_DEVICE_TABLE(pci, ixgbevf_pci_tbl);
 
diff --git a/drivers/net/ethernet/mellanox/mlx4/main.c b/drivers/net/ethernet/mellanox/mlx4/main.c
index e6b7e75894ff..4fe6dbf0942f 100644
--- a/drivers/net/ethernet/mellanox/mlx4/main.c
+++ b/drivers/net/ethernet/mellanox/mlx4/main.c
@@ -4274,9 +4274,9 @@ int mlx4_restart_one(struct pci_dev *pdev)
 	return mlx4_restart_one_up(pdev, false, NULL);
 }
 
-#define MLX_SP(id) { PCI_VDEVICE(MELLANOX, id), MLX4_PCI_DEV_FORCE_SENSE_PORT }
-#define MLX_VF(id) { PCI_VDEVICE(MELLANOX, id), MLX4_PCI_DEV_IS_VF }
-#define MLX_GN(id) { PCI_VDEVICE(MELLANOX, id), 0 }
+#define MLX_SP(id) { PCI_VDEVICE(MELLANOX, id), .driver_data = MLX4_PCI_DEV_FORCE_SENSE_PORT }
+#define MLX_VF(id) { PCI_VDEVICE(MELLANOX, id), .driver_data = MLX4_PCI_DEV_IS_VF }
+#define MLX_GN(id) { PCI_VDEVICE(MELLANOX, id), .driver_data = 0 }
 
 static const struct pci_device_id mlx4_pci_table[] = {
 #ifdef CONFIG_MLX4_CORE_GEN2
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core/main.c
index 74827e8ca125..ff450269ce37 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/main.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c
@@ -2203,19 +2203,26 @@ static int mlx5_resume(struct pci_dev *pdev)
 
 static const struct pci_device_id mlx5_core_pci_table[] = {
 	{ PCI_VDEVICE(MELLANOX, PCI_DEVICE_ID_MELLANOX_CONNECTIB) },
-	{ PCI_VDEVICE(MELLANOX, 0x1012), MLX5_PCI_DEV_IS_VF},	/* Connect-IB VF */
+	{ PCI_VDEVICE(MELLANOX, 0x1012),
+	  .driver_data = MLX5_PCI_DEV_IS_VF },			/* Connect-IB VF */
 	{ PCI_VDEVICE(MELLANOX, PCI_DEVICE_ID_MELLANOX_CONNECTX4) },
-	{ PCI_VDEVICE(MELLANOX, 0x1014), MLX5_PCI_DEV_IS_VF},	/* ConnectX-4 VF */
+	{ PCI_VDEVICE(MELLANOX, 0x1014),
+	  .driver_data = MLX5_PCI_DEV_IS_VF },			/* ConnectX-4 VF */
 	{ PCI_VDEVICE(MELLANOX, PCI_DEVICE_ID_MELLANOX_CONNECTX4_LX) },
-	{ PCI_VDEVICE(MELLANOX, 0x1016), MLX5_PCI_DEV_IS_VF},	/* ConnectX-4LX VF */
+	{ PCI_VDEVICE(MELLANOX, 0x1016),
+	  .driver_data = MLX5_PCI_DEV_IS_VF },			/* ConnectX-4LX VF */
 	{ PCI_VDEVICE(MELLANOX, 0x1017) },			/* ConnectX-5, PCIe 3.0 */
-	{ PCI_VDEVICE(MELLANOX, 0x1018), MLX5_PCI_DEV_IS_VF},	/* ConnectX-5 VF */
+	{ PCI_VDEVICE(MELLANOX, 0x1018),
+	  .driver_data = MLX5_PCI_DEV_IS_VF },			/* ConnectX-5 VF */
 	{ PCI_VDEVICE(MELLANOX, 0x1019) },			/* ConnectX-5 Ex */
-	{ PCI_VDEVICE(MELLANOX, 0x101a), MLX5_PCI_DEV_IS_VF},	/* ConnectX-5 Ex VF */
+	{ PCI_VDEVICE(MELLANOX, 0x101a),
+	  .driver_data = MLX5_PCI_DEV_IS_VF },			/* ConnectX-5 Ex VF */
 	{ PCI_VDEVICE(MELLANOX, 0x101b) },			/* ConnectX-6 */
-	{ PCI_VDEVICE(MELLANOX, 0x101c), MLX5_PCI_DEV_IS_VF},	/* ConnectX-6 VF */
+	{ PCI_VDEVICE(MELLANOX, 0x101c),
+	  .driver_data = MLX5_PCI_DEV_IS_VF },			/* ConnectX-6 VF */
 	{ PCI_VDEVICE(MELLANOX, 0x101d) },			/* ConnectX-6 Dx */
-	{ PCI_VDEVICE(MELLANOX, 0x101e), MLX5_PCI_DEV_IS_VF},	/* ConnectX Family mlx5Gen Virtual Function */
+	{ PCI_VDEVICE(MELLANOX, 0x101e),
+	  .driver_data = MLX5_PCI_DEV_IS_VF },			/* ConnectX Family mlx5Gen Virtual Function */
 	{ PCI_VDEVICE(MELLANOX, 0x101f) },			/* ConnectX-6 LX */
 	{ PCI_VDEVICE(MELLANOX, 0x1021) },			/* ConnectX-7 */
 	{ PCI_VDEVICE(MELLANOX, 0x1023) },			/* ConnectX-8 */
@@ -2223,11 +2230,12 @@ static const struct pci_device_id mlx5_core_pci_table[] = {
 	{ PCI_VDEVICE(MELLANOX, 0x1027) },			/* ConnectX-10 */
 	{ PCI_VDEVICE(MELLANOX, 0x2101) },			/* ConnectX-10 NVLink-C2C */
 	{ PCI_VDEVICE(MELLANOX, 0xa2d2) },			/* BlueField integrated ConnectX-5 network controller */
-	{ PCI_VDEVICE(MELLANOX, 0xa2d3), MLX5_PCI_DEV_IS_VF},	/* BlueField integrated ConnectX-5 network controller VF */
+	{ PCI_VDEVICE(MELLANOX, 0xa2d3),
+	  .driver_data = MLX5_PCI_DEV_IS_VF },			/* BlueField integrated ConnectX-5 network controller VF */
 	{ PCI_VDEVICE(MELLANOX, 0xa2d6) },			/* BlueField-2 integrated ConnectX-6 Dx network controller */
 	{ PCI_VDEVICE(MELLANOX, 0xa2dc) },			/* BlueField-3 integrated ConnectX-7 network controller */
 	{ PCI_VDEVICE(MELLANOX, 0xa2df) },			/* BlueField-4 integrated ConnectX-8 network controller */
-	{ 0, }
+	{ }
 };
 
 MODULE_DEVICE_TABLE(pci, mlx5_core_pci_table);
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c
index 3a65420fa1ad..1aaa75b47fe3 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c
@@ -5277,8 +5277,8 @@ static int mlxsw_sp_netdevice_event(struct notifier_block *nb,
 }
 
 static const struct pci_device_id mlxsw_sp1_pci_id_table[] = {
-	{PCI_VDEVICE(MELLANOX, PCI_DEVICE_ID_MELLANOX_SPECTRUM), 0},
-	{0, },
+	{PCI_VDEVICE(MELLANOX, PCI_DEVICE_ID_MELLANOX_SPECTRUM) },
+	{ },
 };
 
 static struct pci_driver mlxsw_sp1_pci_driver = {
@@ -5287,8 +5287,8 @@ static struct pci_driver mlxsw_sp1_pci_driver = {
 };
 
 static const struct pci_device_id mlxsw_sp2_pci_id_table[] = {
-	{PCI_VDEVICE(MELLANOX, PCI_DEVICE_ID_MELLANOX_SPECTRUM2), 0},
-	{0, },
+	{PCI_VDEVICE(MELLANOX, PCI_DEVICE_ID_MELLANOX_SPECTRUM2) },
+	{ },
 };
 
 static struct pci_driver mlxsw_sp2_pci_driver = {
@@ -5297,8 +5297,8 @@ static struct pci_driver mlxsw_sp2_pci_driver = {
 };
 
 static const struct pci_device_id mlxsw_sp3_pci_id_table[] = {
-	{PCI_VDEVICE(MELLANOX, PCI_DEVICE_ID_MELLANOX_SPECTRUM3), 0},
-	{0, },
+	{PCI_VDEVICE(MELLANOX, PCI_DEVICE_ID_MELLANOX_SPECTRUM3) },
+	{ },
 };
 
 static struct pci_driver mlxsw_sp3_pci_driver = {
@@ -5307,8 +5307,8 @@ static struct pci_driver mlxsw_sp3_pci_driver = {
 };
 
 static const struct pci_device_id mlxsw_sp4_pci_id_table[] = {
-	{PCI_VDEVICE(MELLANOX, PCI_DEVICE_ID_MELLANOX_SPECTRUM4), 0},
-	{0, },
+	{PCI_VDEVICE(MELLANOX, PCI_DEVICE_ID_MELLANOX_SPECTRUM4) },
+	{ },
 };
 
 static struct pci_driver mlxsw_sp4_pci_driver = {
diff --git a/drivers/net/ethernet/micrel/ksz884x.c b/drivers/net/ethernet/micrel/ksz884x.c
index 26557cd32008..773fdd215a15 100644
--- a/drivers/net/ethernet/micrel/ksz884x.c
+++ b/drivers/net/ethernet/micrel/ksz884x.c
@@ -6839,11 +6839,9 @@ static int __maybe_unused pcidev_suspend(struct device *dev_d)
 static char pcidev_name[] = "ksz884xp";
 
 static const struct pci_device_id pcidev_table[] = {
-	{ PCI_VENDOR_ID_MICREL_KS, 0x8841,
-		PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
-	{ PCI_VENDOR_ID_MICREL_KS, 0x8842,
-		PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
-	{ 0 }
+	{ PCI_VDEVICE(MICREL_KS, 0x8841) },
+	{ PCI_VDEVICE(MICREL_KS, 0x8842) },
+	{ }
 };
 
 MODULE_DEVICE_TABLE(pci, pcidev_table);
diff --git a/drivers/net/ethernet/mucse/rnpgbe/rnpgbe_main.c b/drivers/net/ethernet/mucse/rnpgbe/rnpgbe_main.c
index 316f941629d4..70a2b0082ba8 100644
--- a/drivers/net/ethernet/mucse/rnpgbe/rnpgbe_main.c
+++ b/drivers/net/ethernet/mucse/rnpgbe/rnpgbe_main.c
@@ -17,12 +17,12 @@ static const char rnpgbe_driver_name[] = "rnpgbe";
  *   private_data (used for different hw chip) }
  */
 static struct pci_device_id rnpgbe_pci_tbl[] = {
-	{ PCI_VDEVICE(MUCSE, RNPGBE_DEVICE_ID_N210), board_n210 },
-	{ PCI_VDEVICE(MUCSE, RNPGBE_DEVICE_ID_N210L), board_n210 },
-	{ PCI_VDEVICE(MUCSE, RNPGBE_DEVICE_ID_N500_DUAL_PORT), board_n500 },
-	{ PCI_VDEVICE(MUCSE, RNPGBE_DEVICE_ID_N500_QUAD_PORT), board_n500 },
+	{ PCI_VDEVICE(MUCSE, RNPGBE_DEVICE_ID_N210), .driver_data = board_n210 },
+	{ PCI_VDEVICE(MUCSE, RNPGBE_DEVICE_ID_N210L), .driver_data = board_n210 },
+	{ PCI_VDEVICE(MUCSE, RNPGBE_DEVICE_ID_N500_DUAL_PORT), .driver_data = board_n500 },
+	{ PCI_VDEVICE(MUCSE, RNPGBE_DEVICE_ID_N500_QUAD_PORT), .driver_data = board_n500 },
 	/* required last entry */
-	{0, },
+	{ },
 };
 
 /**
diff --git a/drivers/net/ethernet/natsemi/natsemi.c b/drivers/net/ethernet/natsemi/natsemi.c
index b253734dbc80..35a63b78880b 100644
--- a/drivers/net/ethernet/natsemi/natsemi.c
+++ b/drivers/net/ethernet/natsemi/natsemi.c
@@ -248,8 +248,8 @@ static struct {
 };
 
 static const struct pci_device_id natsemi_pci_tbl[] = {
-	{ PCI_VENDOR_ID_NS, 0x0020, 0x12d9,     0x000c,     0, 0, 0 },
-	{ PCI_VENDOR_ID_NS, 0x0020, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1 },
+	{ PCI_VDEVICE_SUB(NS, 0x0020, 0x12d9, 0x000c), .driver_data = 0 },
+	{ PCI_VDEVICE(NS, 0x0020), .driver_data = 1 },
 	{ }	/* terminate list */
 };
 MODULE_DEVICE_TABLE(pci, natsemi_pci_tbl);
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_main.c b/drivers/net/ethernet/netronome/nfp/nfp_main.c
index 48390b2fd44d..e8e4b84d505a 100644
--- a/drivers/net/ethernet/netronome/nfp/nfp_main.c
+++ b/drivers/net/ethernet/netronome/nfp/nfp_main.c
@@ -33,39 +33,56 @@
 static const char nfp_driver_name[] = "nfp";
 
 static const struct pci_device_id nfp_pci_device_ids[] = {
-	{ PCI_VENDOR_ID_NETRONOME, PCI_DEVICE_ID_NFP3800,
-	  PCI_VENDOR_ID_NETRONOME, PCI_ANY_ID,
-	  PCI_ANY_ID, 0, NFP_DEV_NFP3800,
+	{
+		PCI_VDEVICE_SUB(NETRONOME, PCI_DEVICE_ID_NFP3800,
+				PCI_VENDOR_ID_NETRONOME, PCI_ANY_ID),
+		.class = PCI_ANY_ID,
+		.class_mask = 0,
+		.driver_data = NFP_DEV_NFP3800,
+	}, {
+		PCI_VDEVICE_SUB(NETRONOME, PCI_DEVICE_ID_NFP4000,
+				PCI_VENDOR_ID_NETRONOME, PCI_ANY_ID),
+		.class = PCI_ANY_ID,
+		.class_mask = 0,
+		.driver_data = NFP_DEV_NFP6000,
+	}, {
+		PCI_VDEVICE_SUB(NETRONOME, PCI_DEVICE_ID_NFP5000,
+				PCI_VENDOR_ID_NETRONOME, PCI_ANY_ID),
+		.class = PCI_ANY_ID,
+		.class_mask = 0,
+		.driver_data = NFP_DEV_NFP6000,
+	}, {
+		PCI_VDEVICE_SUB(NETRONOME, PCI_DEVICE_ID_NFP6000,
+				PCI_VENDOR_ID_NETRONOME, PCI_ANY_ID),
+		.class = PCI_ANY_ID,
+		.class_mask = 0,
+		.driver_data = NFP_DEV_NFP6000,
+	}, {
+		PCI_VDEVICE_SUB(CORIGINE, PCI_DEVICE_ID_NFP3800,
+				PCI_VENDOR_ID_CORIGINE, PCI_ANY_ID),
+		.class = PCI_ANY_ID,
+		.class_mask = 0,
+		.driver_data = NFP_DEV_NFP3800,
+	}, {
+		PCI_VDEVICE_SUB(CORIGINE, PCI_DEVICE_ID_NFP4000,
+				PCI_VENDOR_ID_CORIGINE, PCI_ANY_ID),
+		.class = PCI_ANY_ID,
+		.class_mask = 0,
+		.driver_data = NFP_DEV_NFP6000,
+	}, {
+		PCI_VDEVICE_SUB(CORIGINE, PCI_DEVICE_ID_NFP5000,
+				PCI_VENDOR_ID_CORIGINE, PCI_ANY_ID),
+		.class = PCI_ANY_ID,
+		.class_mask = 0,
+		.driver_data = NFP_DEV_NFP6000,
+	}, {
+		PCI_VDEVICE_SUB(CORIGINE, PCI_DEVICE_ID_NFP6000,
+				PCI_VENDOR_ID_CORIGINE, PCI_ANY_ID),
+		.class = PCI_ANY_ID,
+		.class_mask = 0,
+		.driver_data = NFP_DEV_NFP6000,
 	},
-	{ PCI_VENDOR_ID_NETRONOME, PCI_DEVICE_ID_NFP4000,
-	  PCI_VENDOR_ID_NETRONOME, PCI_ANY_ID,
-	  PCI_ANY_ID, 0, NFP_DEV_NFP6000,
-	},
-	{ PCI_VENDOR_ID_NETRONOME, PCI_DEVICE_ID_NFP5000,
-	  PCI_VENDOR_ID_NETRONOME, PCI_ANY_ID,
-	  PCI_ANY_ID, 0, NFP_DEV_NFP6000,
-	},
-	{ PCI_VENDOR_ID_NETRONOME, PCI_DEVICE_ID_NFP6000,
-	  PCI_VENDOR_ID_NETRONOME, PCI_ANY_ID,
-	  PCI_ANY_ID, 0, NFP_DEV_NFP6000,
-	},
-	{ PCI_VENDOR_ID_CORIGINE, PCI_DEVICE_ID_NFP3800,
-	  PCI_VENDOR_ID_CORIGINE, PCI_ANY_ID,
-	  PCI_ANY_ID, 0, NFP_DEV_NFP3800,
-	},
-	{ PCI_VENDOR_ID_CORIGINE, PCI_DEVICE_ID_NFP4000,
-	  PCI_VENDOR_ID_CORIGINE, PCI_ANY_ID,
-	  PCI_ANY_ID, 0, NFP_DEV_NFP6000,
-	},
-	{ PCI_VENDOR_ID_CORIGINE, PCI_DEVICE_ID_NFP5000,
-	  PCI_VENDOR_ID_CORIGINE, PCI_ANY_ID,
-	  PCI_ANY_ID, 0, NFP_DEV_NFP6000,
-	},
-	{ PCI_VENDOR_ID_CORIGINE, PCI_DEVICE_ID_NFP6000,
-	  PCI_VENDOR_ID_CORIGINE, PCI_ANY_ID,
-	  PCI_ANY_ID, 0, NFP_DEV_NFP6000,
-	},
-	{ 0, } /* Required last entry. */
+	{ } /* Required last entry. */
 };
 MODULE_DEVICE_TABLE(pci, nfp_pci_device_ids);
 
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_netvf_main.c b/drivers/net/ethernet/netronome/nfp/nfp_netvf_main.c
index b5646c884371..cf557e0ce011 100644
--- a/drivers/net/ethernet/netronome/nfp/nfp_netvf_main.c
+++ b/drivers/net/ethernet/netronome/nfp/nfp_netvf_main.c
@@ -38,23 +38,32 @@ struct nfp_net_vf {
 static const char nfp_net_driver_name[] = "nfp_netvf";
 
 static const struct pci_device_id nfp_netvf_pci_device_ids[] = {
-	{ PCI_VENDOR_ID_NETRONOME, PCI_DEVICE_ID_NFP3800_VF,
-	  PCI_VENDOR_ID_NETRONOME, PCI_ANY_ID,
-	  PCI_ANY_ID, 0, NFP_DEV_NFP3800_VF,
+	{
+		PCI_VDEVICE_SUB(NETRONOME, PCI_DEVICE_ID_NFP3800_VF,
+				PCI_VENDOR_ID_NETRONOME, PCI_ANY_ID),
+		.class = PCI_ANY_ID,
+		.class_mask = 0,
+		.driver_data = NFP_DEV_NFP3800_VF,
+	}, {
+		PCI_VDEVICE_SUB(NETRONOME, PCI_DEVICE_ID_NFP6000_VF,
+				PCI_VENDOR_ID_NETRONOME, PCI_ANY_ID),
+		.class = PCI_ANY_ID,
+		.class_mask = 0,
+		.driver_data = NFP_DEV_NFP6000_VF,
+	}, {
+		PCI_VDEVICE_SUB(CORIGINE, PCI_DEVICE_ID_NFP3800_VF,
+				PCI_VENDOR_ID_CORIGINE, PCI_ANY_ID),
+		.class = PCI_ANY_ID,
+		.class_mask = 0,
+		.driver_data = NFP_DEV_NFP3800_VF,
+	}, {
+		PCI_VDEVICE_SUB(CORIGINE, PCI_DEVICE_ID_NFP6000_VF,
+				PCI_VENDOR_ID_CORIGINE, PCI_ANY_ID),
+		.class = PCI_ANY_ID,
+		.class_mask = 0,
+		.driver_data = NFP_DEV_NFP6000_VF,
 	},
-	{ PCI_VENDOR_ID_NETRONOME, PCI_DEVICE_ID_NFP6000_VF,
-	  PCI_VENDOR_ID_NETRONOME, PCI_ANY_ID,
-	  PCI_ANY_ID, 0, NFP_DEV_NFP6000_VF,
-	},
-	{ PCI_VENDOR_ID_CORIGINE, PCI_DEVICE_ID_NFP3800_VF,
-	  PCI_VENDOR_ID_CORIGINE, PCI_ANY_ID,
-	  PCI_ANY_ID, 0, NFP_DEV_NFP3800_VF,
-	},
-	{ PCI_VENDOR_ID_CORIGINE, PCI_DEVICE_ID_NFP6000_VF,
-	  PCI_VENDOR_ID_CORIGINE, PCI_ANY_ID,
-	  PCI_ANY_ID, 0, NFP_DEV_NFP6000_VF,
-	},
-	{ 0, } /* Required last entry. */
+	{ } /* Required last entry. */
 };
 MODULE_DEVICE_TABLE(pci, nfp_netvf_pci_device_ids);
 
diff --git a/drivers/net/ethernet/qlogic/qede/qede_main.c b/drivers/net/ethernet/qlogic/qede/qede_main.c
index 39842eb73bc3..cb0ae0650905 100644
--- a/drivers/net/ethernet/qlogic/qede/qede_main.c
+++ b/drivers/net/ethernet/qlogic/qede/qede_main.c
@@ -76,20 +76,20 @@ enum qede_pci_private {
 };
 
 static const struct pci_device_id qede_pci_tbl[] = {
-	{PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_40), QEDE_PRIVATE_PF},
-	{PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_10), QEDE_PRIVATE_PF},
-	{PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_MF), QEDE_PRIVATE_PF},
-	{PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_100), QEDE_PRIVATE_PF},
-	{PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_50), QEDE_PRIVATE_PF},
-	{PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_25), QEDE_PRIVATE_PF},
+	{ PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_40), .driver_data = QEDE_PRIVATE_PF },
+	{ PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_10), .driver_data = QEDE_PRIVATE_PF },
+	{ PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_MF), .driver_data = QEDE_PRIVATE_PF },
+	{ PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_100), .driver_data = QEDE_PRIVATE_PF },
+	{ PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_50), .driver_data = QEDE_PRIVATE_PF },
+	{ PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_25), .driver_data = QEDE_PRIVATE_PF },
 #ifdef CONFIG_QED_SRIOV
-	{PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_IOV), QEDE_PRIVATE_VF},
+	{ PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_57980S_IOV), .driver_data = QEDE_PRIVATE_VF },
 #endif
-	{PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_AH), QEDE_PRIVATE_PF},
+	{ PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_AH), .driver_data = QEDE_PRIVATE_PF },
 #ifdef CONFIG_QED_SRIOV
-	{PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_AH_IOV), QEDE_PRIVATE_VF},
+	{ PCI_VDEVICE(QLOGIC, PCI_DEVICE_ID_AH_IOV), .driver_data = QEDE_PRIVATE_VF },
 #endif
-	{ 0 }
+	{ }
 };
 
 MODULE_DEVICE_TABLE(pci, qede_pci_tbl);
diff --git a/drivers/net/ethernet/realtek/8139too.c b/drivers/net/ethernet/realtek/8139too.c
index a8532ebd42ec..8241bcf76664 100644
--- a/drivers/net/ethernet/realtek/8139too.c
+++ b/drivers/net/ethernet/realtek/8139too.c
@@ -235,44 +235,44 @@ static const struct {
 
 
 static const struct pci_device_id rtl8139_pci_tbl[] = {
-	{0x10ec, 0x8139, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
-	{0x10ec, 0x8138, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
-	{0x1113, 0x1211, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
-	{0x1500, 0x1360, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
-	{0x4033, 0x1360, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
-	{0x1186, 0x1300, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
-	{0x1186, 0x1340, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
-	{0x13d1, 0xab06, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
-	{0x1259, 0xa117, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
-	{0x1259, 0xa11e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
-	{0x14ea, 0xab06, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
-	{0x14ea, 0xab07, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
-	{0x11db, 0x1234, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
-	{0x1432, 0x9130, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
-	{0x02ac, 0x1012, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
-	{0x018a, 0x0106, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
-	{0x126c, 0x1211, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
-	{0x1743, 0x8139, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
-	{0x021b, 0x8139, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
-	{0x16ec, 0xab06, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
+	{ PCI_DEVICE(0x10ec, 0x8139), .driver_data = RTL8139 },
+	{ PCI_DEVICE(0x10ec, 0x8138), .driver_data = RTL8139 },
+	{ PCI_DEVICE(0x1113, 0x1211), .driver_data = RTL8139 },
+	{ PCI_DEVICE(0x1500, 0x1360), .driver_data = RTL8139 },
+	{ PCI_DEVICE(0x4033, 0x1360), .driver_data = RTL8139 },
+	{ PCI_DEVICE(0x1186, 0x1300), .driver_data = RTL8139 },
+	{ PCI_DEVICE(0x1186, 0x1340), .driver_data = RTL8139 },
+	{ PCI_DEVICE(0x13d1, 0xab06), .driver_data = RTL8139 },
+	{ PCI_DEVICE(0x1259, 0xa117), .driver_data = RTL8139 },
+	{ PCI_DEVICE(0x1259, 0xa11e), .driver_data = RTL8139 },
+	{ PCI_DEVICE(0x14ea, 0xab06), .driver_data = RTL8139 },
+	{ PCI_DEVICE(0x14ea, 0xab07), .driver_data = RTL8139 },
+	{ PCI_DEVICE(0x11db, 0x1234), .driver_data = RTL8139 },
+	{ PCI_DEVICE(0x1432, 0x9130), .driver_data = RTL8139 },
+	{ PCI_DEVICE(0x02ac, 0x1012), .driver_data = RTL8139 },
+	{ PCI_DEVICE(0x018a, 0x0106), .driver_data = RTL8139 },
+	{ PCI_DEVICE(0x126c, 0x1211), .driver_data = RTL8139 },
+	{ PCI_DEVICE(0x1743, 0x8139), .driver_data = RTL8139 },
+	{ PCI_DEVICE(0x021b, 0x8139), .driver_data = RTL8139 },
+	{ PCI_DEVICE(0x16ec, 0xab06), .driver_data = RTL8139 },
 
 #ifdef CONFIG_SH_SECUREEDGE5410
 	/* Bogus 8139 silicon reports 8129 without external PROM :-( */
-	{0x10ec, 0x8129, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8139 },
+	{ PCI_DEVICE(0x10ec, 0x8129), .driver_data = RTL8139 },
 #endif
 #ifdef CONFIG_8139TOO_8129
-	{0x10ec, 0x8129, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RTL8129 },
+	{ PCI_DEVICE(0x10ec, 0x8129), .driver_data = RTL8129 },
 #endif
 
 	/* some crazy cards report invalid vendor ids like
 	 * 0x0001 here.  The other ids are valid and constant,
 	 * so we simply don't match on the main vendor id.
 	 */
-	{PCI_ANY_ID, 0x8139, 0x10ec, 0x8139, 0, 0, RTL8139 },
-	{PCI_ANY_ID, 0x8139, 0x1186, 0x1300, 0, 0, RTL8139 },
-	{PCI_ANY_ID, 0x8139, 0x13d1, 0xab06, 0, 0, RTL8139 },
+	{ PCI_DEVICE_SUB(PCI_ANY_ID, 0x8139, 0x10ec, 0x8139), .driver_data = RTL8139 },
+	{ PCI_DEVICE_SUB(PCI_ANY_ID, 0x8139, 0x1186, 0x1300), .driver_data = RTL8139 },
+	{ PCI_DEVICE_SUB(PCI_ANY_ID, 0x8139, 0x13d1, 0xab06), .driver_data = RTL8139 },
 
-	{0,}
+	{ }
 };
 MODULE_DEVICE_TABLE (pci, rtl8139_pci_tbl);
 
diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
index 791277e750ba..ec4fc21fa21f 100644
--- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/drivers/net/ethernet/realtek/r8169_main.c
@@ -229,7 +229,7 @@ static const struct pci_device_id rtl8169_pci_tbl[] = {
 	{ PCI_VDEVICE(REALTEK,	0x2502) },
 	{ PCI_VDEVICE(REALTEK,	0x2600) },
 	{ PCI_VDEVICE(REALTEK,	0x8129) },
-	{ PCI_VDEVICE(REALTEK,	0x8136), RTL_CFG_NO_GBIT },
+	{ PCI_VDEVICE(REALTEK,	0x8136), .driver_data = RTL_CFG_NO_GBIT },
 	{ PCI_VDEVICE(REALTEK,	0x8161) },
 	{ PCI_VDEVICE(REALTEK,	0x8162) },
 	{ PCI_VDEVICE(REALTEK,	0x8167) },
@@ -240,15 +240,15 @@ static const struct pci_device_id rtl8169_pci_tbl[] = {
 	{ PCI_VDEVICE(DLINK,	0x4302) },
 	{ PCI_VDEVICE(AT,	0xc107) },
 	{ PCI_VDEVICE(USR,	0x0116) },
-	{ PCI_VENDOR_ID_LINKSYS, 0x1032, PCI_ANY_ID, 0x0024 },
-	{ 0x0001, 0x8168, PCI_ANY_ID, 0x2410 },
+	{ PCI_VDEVICE_SUB(LINKSYS, 0x1032, PCI_ANY_ID, 0x0024) },
+	{ PCI_DEVICE_SUB(0x0001, 0x8168, PCI_ANY_ID, 0x2410) },
 	{ PCI_VDEVICE(REALTEK,	0x8125) },
 	{ PCI_VDEVICE(REALTEK,	0x8126) },
 	{ PCI_VDEVICE(REALTEK,	0x8127) },
 	{ PCI_VDEVICE(REALTEK,	0x3000) },
 	{ PCI_VDEVICE(REALTEK,	0x5000) },
 	{ PCI_VDEVICE(REALTEK,	0x0e10) },
-	{}
+	{ }
 };
 
 MODULE_DEVICE_TABLE(pci, rtl8169_pci_tbl);
diff --git a/drivers/net/ethernet/rocker/rocker_main.c b/drivers/net/ethernet/rocker/rocker_main.c
index ff6ca7b2cd4f..84a55f2b48ff 100644
--- a/drivers/net/ethernet/rocker/rocker_main.c
+++ b/drivers/net/ethernet/rocker/rocker_main.c
@@ -40,8 +40,8 @@
 static const char rocker_driver_name[] = "rocker";
 
 static const struct pci_device_id rocker_pci_id_table[] = {
-	{PCI_VDEVICE(REDHAT, PCI_DEVICE_ID_REDHAT_ROCKER), 0},
-	{0, }
+	{ PCI_VDEVICE(REDHAT, PCI_DEVICE_ID_REDHAT_ROCKER) },
+	{ }
 };
 
 struct rocker_wait {
diff --git a/drivers/net/ethernet/sis/sis190.c b/drivers/net/ethernet/sis/sis190.c
index 12ddea514910..ed5276d492b9 100644
--- a/drivers/net/ethernet/sis/sis190.c
+++ b/drivers/net/ethernet/sis/sis190.c
@@ -331,9 +331,9 @@ static const struct {
 };
 
 static const struct pci_device_id sis190_pci_tbl[] = {
-	{ PCI_DEVICE(PCI_VENDOR_ID_SI, 0x0190), 0, 0, 0 },
-	{ PCI_DEVICE(PCI_VENDOR_ID_SI, 0x0191), 0, 0, 1 },
-	{ 0, },
+	{ PCI_VDEVICE(SI, 0x0190), .driver_data = 0 },
+	{ PCI_VDEVICE(SI, 0x0191), .driver_data = 1 },
+	{ },
 };
 
 MODULE_DEVICE_TABLE(pci, sis190_pci_tbl);
diff --git a/drivers/net/ethernet/sis/sis900.c b/drivers/net/ethernet/sis/sis900.c
index 1349ef50cd26..6e9afd9042f7 100644
--- a/drivers/net/ethernet/sis/sis900.c
+++ b/drivers/net/ethernet/sis/sis900.c
@@ -104,11 +104,11 @@ static const char * card_names[] = {
 };
 
 static const struct pci_device_id sis900_pci_tbl[] = {
-	{PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_900,
-	 PCI_ANY_ID, PCI_ANY_ID, 0, 0, SIS_900},
-	{PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_7016,
-	 PCI_ANY_ID, PCI_ANY_ID, 0, 0, SIS_7016},
-	{0,}
+	{ PCI_VDEVICE(SI, PCI_DEVICE_ID_SI_900),
+	  .driver_data = SIS_900 },
+	{ PCI_VDEVICE(SI, PCI_DEVICE_ID_SI_7016),
+	  .driver_data = SIS_7016 },
+	{ }
 };
 MODULE_DEVICE_TABLE (pci, sis900_pci_tbl);
 
diff --git a/drivers/net/ethernet/smsc/epic100.c b/drivers/net/ethernet/smsc/epic100.c
index 389659db06a8..60538b7fe684 100644
--- a/drivers/net/ethernet/smsc/epic100.c
+++ b/drivers/net/ethernet/smsc/epic100.c
@@ -166,11 +166,19 @@ static const struct epic_chip_info pci_id_tbl[] = {
 
 
 static const struct pci_device_id epic_pci_tbl[] = {
-	{ 0x10B8, 0x0005, 0x1092, 0x0AB4, 0, 0, SMSC_83C170_0 },
-	{ 0x10B8, 0x0005, PCI_ANY_ID, PCI_ANY_ID, 0, 0, SMSC_83C170 },
-	{ 0x10B8, 0x0006, PCI_ANY_ID, PCI_ANY_ID,
-	  PCI_CLASS_NETWORK_ETHERNET << 8, 0xffff00, SMSC_83C175 },
-	{ 0,}
+	{
+		PCI_DEVICE_SUB(0x10B8, 0x0005, 0x1092, 0x0AB4),
+		.driver_data = SMSC_83C170_0,
+	}, {
+		PCI_DEVICE(0x10B8, 0x0005),
+		.driver_data = SMSC_83C170,
+	}, {
+		PCI_DEVICE(0x10B8, 0x0006),
+		.class = PCI_CLASS_NETWORK_ETHERNET << 8,
+		.class_mask = 0xffff00,
+		.driver_data = SMSC_83C175,
+	},
+	{ }
 };
 MODULE_DEVICE_TABLE (pci, epic_pci_tbl);
 
diff --git a/drivers/net/ethernet/sun/cassini.c b/drivers/net/ethernet/sun/cassini.c
index fe00e7dd3fe4..823870c999bf 100644
--- a/drivers/net/ethernet/sun/cassini.c
+++ b/drivers/net/ethernet/sun/cassini.c
@@ -218,11 +218,9 @@ static u16 link_modes[] = {
 };
 
 static const struct pci_device_id cas_pci_tbl[] = {
-	{ PCI_VENDOR_ID_SUN, PCI_DEVICE_ID_SUN_CASSINI,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
-	{ PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_SATURN,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
-	{ 0, }
+	{ PCI_VDEVICE(SUN, PCI_DEVICE_ID_SUN_CASSINI) },
+	{ PCI_VDEVICE(NS, PCI_DEVICE_ID_NS_SATURN) },
+	{ }
 };
 
 MODULE_DEVICE_TABLE(pci, cas_pci_tbl);
diff --git a/drivers/net/ethernet/sun/sungem.c b/drivers/net/ethernet/sun/sungem.c
index 8e69d917d827..234ffc3c6a61 100644
--- a/drivers/net/ethernet/sun/sungem.c
+++ b/drivers/net/ethernet/sun/sungem.c
@@ -85,8 +85,7 @@ MODULE_LICENSE("GPL");
 #define GEM_MODULE_NAME	"gem"
 
 static const struct pci_device_id gem_pci_tbl[] = {
-	{ PCI_VENDOR_ID_SUN, PCI_DEVICE_ID_SUN_GEM,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
+	{ PCI_VDEVICE(SUN, PCI_DEVICE_ID_SUN_GEM) },
 
 	/* These models only differ from the original GEM in
 	 * that their tx/rx fifos are of a different size and
@@ -95,21 +94,14 @@ static const struct pci_device_id gem_pci_tbl[] = {
 	 * Apple's GMAC does support gigabit on machines with
 	 * the BCM54xx PHYs. -BenH
 	 */
-	{ PCI_VENDOR_ID_SUN, PCI_DEVICE_ID_SUN_RIO_GEM,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
-	{ PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_UNI_N_GMAC,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
-	{ PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_UNI_N_GMACP,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
-	{ PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_UNI_N_GMAC2,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
-	{ PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_K2_GMAC,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
-	{ PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_SH_SUNGEM,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
-	{ PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_IPID2_GMAC,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
-	{0, }
+	{ PCI_VDEVICE(SUN, PCI_DEVICE_ID_SUN_RIO_GEM) },
+	{ PCI_VDEVICE(APPLE, PCI_DEVICE_ID_APPLE_UNI_N_GMAC) },
+	{ PCI_VDEVICE(APPLE, PCI_DEVICE_ID_APPLE_UNI_N_GMACP) },
+	{ PCI_VDEVICE(APPLE, PCI_DEVICE_ID_APPLE_UNI_N_GMAC2) },
+	{ PCI_VDEVICE(APPLE, PCI_DEVICE_ID_APPLE_K2_GMAC) },
+	{ PCI_VDEVICE(APPLE, PCI_DEVICE_ID_APPLE_SH_SUNGEM) },
+	{ PCI_VDEVICE(APPLE, PCI_DEVICE_ID_APPLE_IPID2_GMAC) },
+	{ }
 };
 
 MODULE_DEVICE_TABLE(pci, gem_pci_tbl);
diff --git a/drivers/net/ethernet/ti/tlan.c b/drivers/net/ethernet/ti/tlan.c
index a55b0f951181..274a1837025c 100644
--- a/drivers/net/ethernet/ti/tlan.c
+++ b/drivers/net/ethernet/ti/tlan.c
@@ -119,33 +119,20 @@ static struct board {
 };
 
 static const struct pci_device_id tlan_pci_tbl[] = {
-	{ PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL10,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
-	{ PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL100,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1 },
-	{ PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETFLEX3I,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2 },
-	{ PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_THUNDER,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 3 },
-	{ PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETFLEX3B,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4 },
-	{ PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL100PI,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 5 },
-	{ PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL100D,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 6 },
-	{ PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL100I,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 7 },
-	{ PCI_VENDOR_ID_OLICOM, PCI_DEVICE_ID_OLICOM_OC2183,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 8 },
-	{ PCI_VENDOR_ID_OLICOM, PCI_DEVICE_ID_OLICOM_OC2325,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 9 },
-	{ PCI_VENDOR_ID_OLICOM, PCI_DEVICE_ID_OLICOM_OC2326,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 10 },
-	{ PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_NETELLIGENT_10_100_WS_5100,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 11 },
-	{ PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_NETELLIGENT_10_T2,
-	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 12 },
-	{ 0,}
+	{ PCI_VDEVICE(COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL10), .driver_data = 0 },
+	{ PCI_VDEVICE(COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL100), .driver_data = 1 },
+	{ PCI_VDEVICE(COMPAQ, PCI_DEVICE_ID_COMPAQ_NETFLEX3I), .driver_data = 2 },
+	{ PCI_VDEVICE(COMPAQ, PCI_DEVICE_ID_COMPAQ_THUNDER), .driver_data = 3 },
+	{ PCI_VDEVICE(COMPAQ, PCI_DEVICE_ID_COMPAQ_NETFLEX3B), .driver_data = 4 },
+	{ PCI_VDEVICE(COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL100PI), .driver_data = 5 },
+	{ PCI_VDEVICE(COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL100D), .driver_data = 6 },
+	{ PCI_VDEVICE(COMPAQ, PCI_DEVICE_ID_COMPAQ_NETEL100I), .driver_data = 7 },
+	{ PCI_VDEVICE(OLICOM, PCI_DEVICE_ID_OLICOM_OC2183), .driver_data = 8 },
+	{ PCI_VDEVICE(OLICOM, PCI_DEVICE_ID_OLICOM_OC2325), .driver_data = 9 },
+	{ PCI_VDEVICE(OLICOM, PCI_DEVICE_ID_OLICOM_OC2326), .driver_data = 10 },
+	{ PCI_VDEVICE(COMPAQ, PCI_DEVICE_ID_NETELLIGENT_10_100_WS_5100), .driver_data = 11 },
+	{ PCI_VDEVICE(COMPAQ, PCI_DEVICE_ID_NETELLIGENT_10_T2), .driver_data = 12 },
+	{ }
 };
 MODULE_DEVICE_TABLE(pci, tlan_pci_tbl);
 
diff --git a/drivers/net/ethernet/wangxun/ngbe/ngbe_main.c b/drivers/net/ethernet/wangxun/ngbe/ngbe_main.c
index d8e3827a8b1f..d51d8db95a76 100644
--- a/drivers/net/ethernet/wangxun/ngbe/ngbe_main.c
+++ b/drivers/net/ethernet/wangxun/ngbe/ngbe_main.c
@@ -30,20 +30,20 @@ char ngbe_driver_name[] = "ngbe";
  *   Class, Class Mask, private data (not used) }
  */
 static const struct pci_device_id ngbe_pci_tbl[] = {
-	{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860AL_W), 0},
-	{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860A2), 0},
-	{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860A2S), 0},
-	{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860A4), 0},
-	{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860A4S), 0},
-	{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860AL2), 0},
-	{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860AL2S), 0},
-	{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860AL4), 0},
-	{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860AL4S), 0},
-	{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860LC), 0},
-	{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860A1), 0},
-	{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860A1L), 0},
+	{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860AL_W) },
+	{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860A2) },
+	{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860A2S) },
+	{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860A4) },
+	{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860A4S) },
+	{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860AL2) },
+	{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860AL2S) },
+	{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860AL4) },
+	{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860AL4S) },
+	{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860LC) },
+	{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860A1) },
+	{ PCI_VDEVICE(WANGXUN, NGBE_DEV_ID_EM_WX1860A1L) },
 	/* required last entry */
-	{ .device = 0 }
+	{ }
 };
 
 /**
diff --git a/drivers/net/ethernet/wangxun/ngbevf/ngbevf_main.c b/drivers/net/ethernet/wangxun/ngbevf/ngbevf_main.c
index 6ef43adcc425..d79cf8d8484f 100644
--- a/drivers/net/ethernet/wangxun/ngbevf/ngbevf_main.c
+++ b/drivers/net/ethernet/wangxun/ngbevf/ngbevf_main.c
@@ -26,20 +26,20 @@
  *   Class, Class Mask, private data (not used) }
  */
 static const struct pci_device_id ngbevf_pci_tbl[] = {
-	{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860AL_W), 0},
-	{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860A2), 0},
-	{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860A2S), 0},
-	{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860A4), 0},
-	{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860A4S), 0},
-	{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860AL2), 0},
-	{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860AL2S), 0},
-	{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860AL4), 0},
-	{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860AL4S), 0},
-	{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860NCSI), 0},
-	{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860A1), 0},
-	{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860AL1), 0},
+	{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860AL_W) },
+	{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860A2) },
+	{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860A2S) },
+	{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860A4) },
+	{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860A4S) },
+	{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860AL2) },
+	{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860AL2S) },
+	{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860AL4) },
+	{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860AL4S) },
+	{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860NCSI) },
+	{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860A1) },
+	{ PCI_VDEVICE(WANGXUN, NGBEVF_DEV_ID_EM_WX1860AL1) },
 	/* required last entry */
-	{ .device = 0 }
+	{ }
 };
 
 static const struct net_device_ops ngbevf_netdev_ops = {
diff --git a/drivers/net/ethernet/wangxun/txgbe/txgbe_main.c b/drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
index 8b7c3753bb6a..4c549c2644ab 100644
--- a/drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
+++ b/drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
@@ -37,16 +37,16 @@ char txgbe_driver_name[] = "txgbe";
  *   Class, Class Mask, private data (not used) }
  */
 static const struct pci_device_id txgbe_pci_tbl[] = {
-	{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_SP1000), 0},
-	{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_WX1820), 0},
-	{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_AML5010), 0},
-	{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_AML5110), 0},
-	{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_AML5025), 0},
-	{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_AML5125), 0},
-	{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_AML5040), 0},
-	{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_AML5140), 0},
+	{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_SP1000) },
+	{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_WX1820) },
+	{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_AML5010) },
+	{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_AML5110) },
+	{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_AML5025) },
+	{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_AML5125) },
+	{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_AML5040) },
+	{ PCI_VDEVICE(WANGXUN, TXGBE_DEV_ID_AML5140) },
 	/* required last entry */
-	{ .device = 0 }
+	{ }
 };
 
 #define DEFAULT_DEBUG_LEVEL_SHIFT 3
diff --git a/drivers/net/ethernet/wangxun/txgbevf/txgbevf_main.c b/drivers/net/ethernet/wangxun/txgbevf/txgbevf_main.c
index 37e4ec487afd..8b16b900820a 100644
--- a/drivers/net/ethernet/wangxun/txgbevf/txgbevf_main.c
+++ b/drivers/net/ethernet/wangxun/txgbevf/txgbevf_main.c
@@ -26,16 +26,16 @@
  *   Class, Class Mask, private data (not used) }
  */
 static const struct pci_device_id txgbevf_pci_tbl[] = {
-	{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_SP1000), 0},
-	{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_WX1820), 0},
-	{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_AML500F), 0},
-	{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_AML510F), 0},
-	{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_AML5024), 0},
-	{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_AML5124), 0},
-	{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_AML503F), 0},
-	{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_AML513F), 0},
+	{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_SP1000) },
+	{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_WX1820) },
+	{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_AML500F) },
+	{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_AML510F) },
+	{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_AML5024) },
+	{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_AML5124) },
+	{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_AML503F) },
+	{ PCI_VDEVICE(WANGXUN, TXGBEVF_DEV_ID_AML513F) },
 	/* required last entry */
-	{ .device = 0 }
+	{ }
 };
 
 static const struct net_device_ops txgbevf_netdev_ops = {
diff --git a/drivers/net/wan/farsync.c b/drivers/net/wan/farsync.c
index 73f393900710..6508c53bdc24 100644
--- a/drivers/net/wan/farsync.c
+++ b/drivers/net/wan/farsync.c
@@ -524,27 +524,21 @@ do {								\
 /*      PCI ID lookup table
  */
 static const struct pci_device_id fst_pci_dev_id[] = {
-	{PCI_VENDOR_ID_FARSITE, PCI_DEVICE_ID_FARSITE_T2P, PCI_ANY_ID,
-	 PCI_ANY_ID, 0, 0, FST_TYPE_T2P},
+	{ PCI_VDEVICE(FARSITE, PCI_DEVICE_ID_FARSITE_T2P), .driver_data = FST_TYPE_T2P },
 
-	{PCI_VENDOR_ID_FARSITE, PCI_DEVICE_ID_FARSITE_T4P, PCI_ANY_ID,
-	 PCI_ANY_ID, 0, 0, FST_TYPE_T4P},
+	{ PCI_VDEVICE(FARSITE, PCI_DEVICE_ID_FARSITE_T4P), .driver_data = FST_TYPE_T4P },
 
-	{PCI_VENDOR_ID_FARSITE, PCI_DEVICE_ID_FARSITE_T1U, PCI_ANY_ID,
-	 PCI_ANY_ID, 0, 0, FST_TYPE_T1U},
+	{ PCI_VDEVICE(FARSITE, PCI_DEVICE_ID_FARSITE_T1U), .driver_data = FST_TYPE_T1U },
 
-	{PCI_VENDOR_ID_FARSITE, PCI_DEVICE_ID_FARSITE_T2U, PCI_ANY_ID,
-	 PCI_ANY_ID, 0, 0, FST_TYPE_T2U},
+	{ PCI_VDEVICE(FARSITE, PCI_DEVICE_ID_FARSITE_T2U), .driver_data = FST_TYPE_T2U },
 
-	{PCI_VENDOR_ID_FARSITE, PCI_DEVICE_ID_FARSITE_T4U, PCI_ANY_ID,
-	 PCI_ANY_ID, 0, 0, FST_TYPE_T4U},
+	{ PCI_VDEVICE(FARSITE, PCI_DEVICE_ID_FARSITE_T4U), .driver_data = FST_TYPE_T4U },
 
-	{PCI_VENDOR_ID_FARSITE, PCI_DEVICE_ID_FARSITE_TE1, PCI_ANY_ID,
-	 PCI_ANY_ID, 0, 0, FST_TYPE_TE1},
+	{ PCI_VDEVICE(FARSITE, PCI_DEVICE_ID_FARSITE_TE1), .driver_data = FST_TYPE_TE1 },
 
-	{PCI_VENDOR_ID_FARSITE, PCI_DEVICE_ID_FARSITE_TE1C, PCI_ANY_ID,
-	 PCI_ANY_ID, 0, 0, FST_TYPE_TE1},
-	{0,}			/* End */
+	{ PCI_VDEVICE(FARSITE, PCI_DEVICE_ID_FARSITE_TE1C), .driver_data = FST_TYPE_TE1 },
+
+	{ }			/* End */
 };
 
 MODULE_DEVICE_TABLE(pci, fst_pci_dev_id);
diff --git a/drivers/net/wan/pc300too.c b/drivers/net/wan/pc300too.c
index 7e57d289b62c..a91564e53caa 100644
--- a/drivers/net/wan/pc300too.c
+++ b/drivers/net/wan/pc300too.c
@@ -461,15 +461,11 @@ static int pc300_pci_init_one(struct pci_dev *pdev,
 }
 
 static const struct pci_device_id pc300_pci_tbl[] = {
-	{ PCI_VENDOR_ID_CYCLADES, PCI_DEVICE_ID_PC300_RX_1, PCI_ANY_ID,
-	  PCI_ANY_ID, 0, 0, 0 },
-	{ PCI_VENDOR_ID_CYCLADES, PCI_DEVICE_ID_PC300_RX_2, PCI_ANY_ID,
-	  PCI_ANY_ID, 0, 0, 0 },
-	{ PCI_VENDOR_ID_CYCLADES, PCI_DEVICE_ID_PC300_TE_1, PCI_ANY_ID,
-	  PCI_ANY_ID, 0, 0, 0 },
-	{ PCI_VENDOR_ID_CYCLADES, PCI_DEVICE_ID_PC300_TE_2, PCI_ANY_ID,
-	  PCI_ANY_ID, 0, 0, 0 },
-	{ 0, }
+	{ PCI_VDEVICE(CYCLADES, PCI_DEVICE_ID_PC300_RX_1) },
+	{ PCI_VDEVICE(CYCLADES, PCI_DEVICE_ID_PC300_RX_2) },
+	{ PCI_VDEVICE(CYCLADES, PCI_DEVICE_ID_PC300_TE_1) },
+	{ PCI_VDEVICE(CYCLADES, PCI_DEVICE_ID_PC300_TE_2) },
+	{ }
 };
 
 static struct pci_driver pc300_pci_driver = {
diff --git a/drivers/net/wan/pci200syn.c b/drivers/net/wan/pci200syn.c
index 89f4b4584a33..9503130fd9a8 100644
--- a/drivers/net/wan/pci200syn.c
+++ b/drivers/net/wan/pci200syn.c
@@ -397,9 +397,9 @@ static int pci200_pci_init_one(struct pci_dev *pdev,
 }
 
 static const struct pci_device_id pci200_pci_tbl[] = {
-	{ PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, PCI_VENDOR_ID_PLX,
-	  PCI_DEVICE_ID_PLX_PCI200SYN, 0, 0, 0 },
-	{ 0, }
+	{ PCI_VDEVICE_SUB(PLX, PCI_DEVICE_ID_PLX_9050,
+			  PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_PCI200SYN) },
+	{ }
 };
 
 static struct pci_driver pci200_pci_driver = {
diff --git a/drivers/net/wan/wanxl.c b/drivers/net/wan/wanxl.c
index 3f7707118450..d4da88c77112 100644
--- a/drivers/net/wan/wanxl.c
+++ b/drivers/net/wan/wanxl.c
@@ -806,13 +806,10 @@ static int wanxl_pci_init_one(struct pci_dev *pdev,
 }
 
 static const struct pci_device_id wanxl_pci_tbl[] = {
-	{ PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_SBE_WANXL100, PCI_ANY_ID,
-	  PCI_ANY_ID, 0, 0, 0 },
-	{ PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_SBE_WANXL200, PCI_ANY_ID,
-	  PCI_ANY_ID, 0, 0, 0 },
-	{ PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_SBE_WANXL400, PCI_ANY_ID,
-	  PCI_ANY_ID, 0, 0, 0 },
-	{ 0, }
+	{ PCI_VDEVICE(SBE, PCI_DEVICE_ID_SBE_WANXL100) },
+	{ PCI_VDEVICE(SBE, PCI_DEVICE_ID_SBE_WANXL200) },
+	{ PCI_VDEVICE(SBE, PCI_DEVICE_ID_SBE_WANXL400) },
+	{ }
 };
 
 static struct pci_driver wanxl_pci_driver = {
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
index 45b342ea0637..13662aa4b4ea 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
@@ -2708,17 +2708,18 @@ static const struct dev_pm_ops brcmf_pciedrvr_pm = {
 
 #define BRCMF_PCIE_DEVICE(dev_id, fw_vend) \
 	{ \
-		BRCM_PCIE_VENDOR_ID_BROADCOM, (dev_id), \
-		PCI_ANY_ID, PCI_ANY_ID, \
-		PCI_CLASS_NETWORK_OTHER << 8, 0xffff00, \
-		BRCMF_DRVDATA_ ## fw_vend \
+		PCI_DEVICE(BRCM_PCIE_VENDOR_ID_BROADCOM, (dev_id)), \
+		.class = PCI_CLASS_NETWORK_OTHER << 8, \
+		.class_mask = 0xffff00, \
+		.driver_data = BRCMF_DRVDATA_ ## fw_vend, \
 	}
 #define BRCMF_PCIE_DEVICE_SUB(dev_id, subvend, subdev, fw_vend) \
 	{ \
-		BRCM_PCIE_VENDOR_ID_BROADCOM, (dev_id), \
-		(subvend), (subdev), \
-		PCI_CLASS_NETWORK_OTHER << 8, 0xffff00, \
-		BRCMF_DRVDATA_ ## fw_vend \
+		PCI_DEVICE_SUB(BRCM_PCIE_VENDOR_ID_BROADCOM, (dev_id), \
+			       (subvend), (subdev)), \
+		.class = PCI_CLASS_NETWORK_OTHER << 8, \
+		.class_mask = 0xffff00, \
+		.driver_data = BRCMF_DRVDATA_ ## fw_vend, \
 	}
 
 static const struct pci_device_id brcmf_pcie_devid_table[] = {
diff --git a/drivers/net/wireless/intel/ipw2x00/ipw2200.c b/drivers/net/wireless/intel/ipw2x00/ipw2200.c
index dd64d21174e3..4bc9bb406e8e 100644
--- a/drivers/net/wireless/intel/ipw2x00/ipw2200.c
+++ b/drivers/net/wireless/intel/ipw2x00/ipw2200.c
@@ -11366,37 +11366,41 @@ static int ipw_wdev_init(struct net_device *dev)
 
 /* PCI driver stuff */
 static const struct pci_device_id card_ids[] = {
-	{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2701, 0, 0, 0},
-	{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2702, 0, 0, 0},
-	{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2711, 0, 0, 0},
-	{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2712, 0, 0, 0},
-	{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2721, 0, 0, 0},
-	{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2722, 0, 0, 0},
-	{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2731, 0, 0, 0},
-	{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2732, 0, 0, 0},
-	{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2741, 0, 0, 0},
-	{PCI_VENDOR_ID_INTEL, 0x1043, 0x103c, 0x2741, 0, 0, 0},
-	{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2742, 0, 0, 0},
-	{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2751, 0, 0, 0},
-	{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2752, 0, 0, 0},
-	{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2753, 0, 0, 0},
-	{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2754, 0, 0, 0},
-	{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2761, 0, 0, 0},
-	{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2762, 0, 0, 0},
+	{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2701) },
+	{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2702) },
+	{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2711) },
+	{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2712) },
+	{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2721) },
+	{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2722) },
+	{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2731) },
+	{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2732) },
+	{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2741) },
+	{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x103c, 0x2741) },
+	{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2742) },
+	{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2751) },
+	{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2752) },
+	{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2753) },
+	{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2754) },
+	{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2761) },
+	{ PCI_VDEVICE_SUB(INTEL, 0x1043, 0x8086, 0x2762) },
+
 	/*
 	 * This ID conflicts with i40e, but the devices can be differentiated
 	 * because i40e devices use PCI_CLASS_NETWORK_ETHERNET and ipw2200
 	 * devices use PCI_CLASS_NETWORK_OTHER.
 	 */
-	{PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x104f),
-		PCI_CLASS_NETWORK_OTHER << 8, 0xffff00, 0},
-	{PCI_VDEVICE(INTEL, 0x4220), 0},	/* BG */
-	{PCI_VDEVICE(INTEL, 0x4221), 0},	/* BG */
-	{PCI_VDEVICE(INTEL, 0x4223), 0},	/* ABG */
-	{PCI_VDEVICE(INTEL, 0x4224), 0},	/* ABG */
+	{
+		PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x104f),
+		.class = PCI_CLASS_NETWORK_OTHER << 8,
+		.class_mask = 0xffff00,
+	},
+	{ PCI_VDEVICE(INTEL, 0x4220) },	/* BG */
+	{ PCI_VDEVICE(INTEL, 0x4221) },	/* BG */
+	{ PCI_VDEVICE(INTEL, 0x4223) },	/* ABG */
+	{ PCI_VDEVICE(INTEL, 0x4224) },	/* ABG */
 
 	/* required last entry */
-	{0,}
+	{ }
 };
 
 MODULE_DEVICE_TABLE(pci, card_ids);
-- 
2.47.3


^ permalink raw reply related

* [PATCH net-next v2 0/2] Rework pci_device_id initialisation
From: Uwe Kleine-König (The Capable Hub) @ 2026-05-07 10:50 UTC (permalink / raw)
  To: Michael Grzeschik, Andrew Lunn, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Marc Kleine-Budde, Vincent Mailhol,
	Krzysztof Halasa, Johannes Berg
  Cc: Steffen Klassert, David Dillow, Ion Badulescu, Mark Einon,
	Rasesh Mody, GR-Linux-NIC-Dev, Manish Chopra, Potnuri Bharat Teja,
	Denis Kirjanov, Jijie Shao, Jian Shen, Cai Huoqing, Fan Gong,
	Tony Nguyen, Przemek Kitszel, Tariq Toukan, Saeed Mahameed,
	Leon Romanovsky, Mark Bloch, Ido Schimmel, Petr Machata,
	Yibo Dong, Heiner Kallweit, nic_swsd, Jiri Pirko, Francois Romieu,
	Daniele Venzano, Samuel Chessman, Jiawen Wu, Mengyuan Lou,
	Kevin Curtis, Arend van Spriel, Stanislav Yakovlev,
	Richard Cochran, Kees Cook, Aleksandr Loktionov, Thomas Gleixner,
	Jacob Keller, Thomas Fourier, Ingo Molnar, Kory Maincent,
	Zilin Guan, Vadim Fedorenko, Marco Crivellari, Bjorn Helgaas,
	David Arinzon, Yeounsu Moon, Denis Benato, Yonglong Liu,
	Andy Shevchenko, Randy Dunlap, Yicong Hui, MD Danish Anwar,
	Nathan Chancellor, Ethan Nelson-Moore, Larysa Zaremba, Ian Lin,
	Colin Ian King, Double Lo, Markus Schneider-Pargmann,
	Simon Horman, netdev, linux-kernel, linux-can, linux-parisc,
	intel-wired-lan, linux-rdma, oss-drivers, linux-wireless,
	brcm80211, brcm80211-dev-list.pdl

Hello,

(implicit) v1 is available at
https://lore.kernel.org/netdev/20260428171845.2288395-2-u.kleine-koenig@baylibre.com/.

Changes since then is mostly addressing feedback by Andy Shevchenko
about trailing commas, 4-digit PCI device ids. I did some more minor
reformatting.

Patch #2 is new. I considered putting that one first because the
conversion for the affected driver introduces the ambiguity that I
mentioned in the commit log, but decided to keep it after the rework
because only with the rework you can properly see the issue that .class
and .class_mask hold strange values.

I consider the changes to patch #1 minor enough to carry over all the
tags given to v1 to this v2.

Best regards
Uwe

Uwe Kleine-König (The Capable Hub) (2):
  net: Consistently define pci_device_ids using named initializers
  net: nfp: Drop PCI class entries with .class_mask = 0

 drivers/net/arcnet/com20020-pci.c             | 242 +++------
 drivers/net/can/m_can/m_can_pci.c             |   6 +-
 drivers/net/can/sja1000/plx_pci.c             | 167 +++----
 drivers/net/ethernet/3com/3c59x.c             |  80 +--
 drivers/net/ethernet/3com/typhoon.c           |  75 ++-
 drivers/net/ethernet/8390/ne2k-pci.c          |  24 +-
 drivers/net/ethernet/adaptec/starfire.c       |   4 +-
 drivers/net/ethernet/agere/et131x.c           |   6 +-
 drivers/net/ethernet/broadcom/bnx2.c          |  62 ++-
 .../net/ethernet/broadcom/bnx2x/bnx2x_main.c  |  50 +-
 .../net/ethernet/cavium/liquidio/lio_main.c   |  10 +-
 .../ethernet/cavium/liquidio/lio_vf_main.c    |   7 +-
 drivers/net/ethernet/chelsio/cxgb/common.h    |   2 +-
 drivers/net/ethernet/chelsio/cxgb/subr.c      |   2 +-
 .../net/ethernet/chelsio/cxgb3/cxgb3_main.c   |   4 +-
 .../net/ethernet/chelsio/cxgb4/cxgb4_main.c   |   4 +-
 .../ethernet/chelsio/cxgb4vf/cxgb4vf_main.c   |   4 +-
 drivers/net/ethernet/dec/tulip/de2104x.c      |   6 +-
 drivers/net/ethernet/dec/tulip/dmfe.c         |  12 +-
 drivers/net/ethernet/dec/tulip/tulip_core.c   |  78 +--
 drivers/net/ethernet/dec/tulip/uli526x.c      |   6 +-
 drivers/net/ethernet/dec/tulip/winbond-840.c  |  13 +-
 drivers/net/ethernet/dlink/dl2k.h             |  12 +-
 drivers/net/ethernet/dlink/sundance.c         |  14 +-
 drivers/net/ethernet/fealnx.c                 |   8 +-
 .../net/ethernet/hisilicon/hibmcge/hbg_main.c |   2 +-
 .../net/ethernet/hisilicon/hns3/hns3_enet.c   |  50 +-
 .../hisilicon/hns3/hns3pf/hclge_main.c        |  18 +-
 .../hisilicon/hns3/hns3vf/hclgevf_main.c      |  12 +-
 .../net/ethernet/huawei/hinic/hinic_main.c    |  12 +-
 .../net/ethernet/huawei/hinic3/hinic3_lld.c   |   7 +-
 drivers/net/ethernet/intel/e100.c             |   9 +-
 drivers/net/ethernet/intel/e1000e/netdev.c    | 471 +++++++++++++-----
 drivers/net/ethernet/intel/fm10k/fm10k_pci.c  |  10 +-
 drivers/net/ethernet/intel/i40e/i40e_main.c   |  59 +--
 drivers/net/ethernet/intel/iavf/iavf_main.c   |  10 +-
 drivers/net/ethernet/intel/igb/igb_main.c     |  66 +--
 drivers/net/ethernet/intel/igbvf/netdev.c     |   4 +-
 drivers/net/ethernet/intel/igc/igc_main.c     |  34 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 106 ++--
 .../net/ethernet/intel/ixgbevf/ixgbevf_main.c |  49 +-
 drivers/net/ethernet/mellanox/mlx4/main.c     |   6 +-
 .../net/ethernet/mellanox/mlx5/core/main.c    |  26 +-
 .../net/ethernet/mellanox/mlxsw/spectrum.c    |  16 +-
 drivers/net/ethernet/micrel/ksz884x.c         |   8 +-
 .../net/ethernet/mucse/rnpgbe/rnpgbe_main.c   |  10 +-
 drivers/net/ethernet/natsemi/natsemi.c        |   4 +-
 drivers/net/ethernet/netronome/nfp/nfp_main.c |  65 +--
 .../ethernet/netronome/nfp/nfp_netvf_main.c   |  33 +-
 drivers/net/ethernet/qlogic/qede/qede_main.c  |  20 +-
 drivers/net/ethernet/realtek/8139too.c        |  52 +-
 drivers/net/ethernet/realtek/r8169_main.c     |   8 +-
 drivers/net/ethernet/rocker/rocker_main.c     |   4 +-
 drivers/net/ethernet/sis/sis190.c             |   6 +-
 drivers/net/ethernet/sis/sis900.c             |  10 +-
 drivers/net/ethernet/smsc/epic100.c           |  18 +-
 drivers/net/ethernet/sun/cassini.c            |   8 +-
 drivers/net/ethernet/sun/sungem.c             |  26 +-
 drivers/net/ethernet/ti/tlan.c                |  41 +-
 drivers/net/ethernet/wangxun/ngbe/ngbe_main.c |  26 +-
 .../net/ethernet/wangxun/ngbevf/ngbevf_main.c |  26 +-
 .../net/ethernet/wangxun/txgbe/txgbe_main.c   |  18 +-
 .../ethernet/wangxun/txgbevf/txgbevf_main.c   |  18 +-
 drivers/net/wan/farsync.c                     |  24 +-
 drivers/net/wan/pc300too.c                    |  14 +-
 drivers/net/wan/pci200syn.c                   |   6 +-
 drivers/net/wan/wanxl.c                       |  11 +-
 .../broadcom/brcm80211/brcmfmac/pcie.c        |  17 +-
 drivers/net/wireless/intel/ipw2x00/ipw2200.c  |  52 +-
 69 files changed, 1288 insertions(+), 1102 deletions(-)


base-commit: 254f49634ee16a731174d2ae34bc50bd5f45e731
-- 
2.47.3


^ permalink raw reply

* [PATCH v2] wifi: rtw88: remove rtw_txq_dequeue
From: Martin Kaiser @ 2026-05-07  8:22 UTC (permalink / raw)
  To: Ping-Ke Shih
  Cc: Bitterblue Smith, linux-wireless, linux-kernel, Martin Kaiser

Remove the rtw_txq_dequeue helper. It's a wrapper around
ieee80211_tx_dequeue with just one caller.

Call ieee80211_tx_dequeue directly in rtw_txq_push. There's no need to
fetch txq for every frame, we can do this once outside of the rcu lock.

Make the loop variable i unsigned long, it should have the same type as
frames.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
---
v2:
- variable declarations in reverse xmas tree order

 drivers/net/wireless/realtek/rtw88/tx.c | 18 +++---------------
 1 file changed, 3 insertions(+), 15 deletions(-)

diff --git a/drivers/net/wireless/realtek/rtw88/tx.c b/drivers/net/wireless/realtek/rtw88/tx.c
index 3106edb84fb4..bea78971141e 100644
--- a/drivers/net/wireless/realtek/rtw88/tx.c
+++ b/drivers/net/wireless/realtek/rtw88/tx.c
@@ -619,31 +619,19 @@ static int rtw_txq_push_skb(struct rtw_dev *rtwdev,
 	return 0;
 }
 
-static struct sk_buff *rtw_txq_dequeue(struct rtw_dev *rtwdev,
-				       struct rtw_txq *rtwtxq)
-{
-	struct ieee80211_txq *txq = rtwtxq_to_txq(rtwtxq);
-	struct sk_buff *skb;
-
-	skb = ieee80211_tx_dequeue(rtwdev->hw, txq);
-	if (!skb)
-		return NULL;
-
-	return skb;
-}
-
 static void rtw_txq_push(struct rtw_dev *rtwdev,
 			 struct rtw_txq *rtwtxq,
 			 unsigned long frames)
 {
+	struct ieee80211_txq *txq = rtwtxq_to_txq(rtwtxq);
 	struct sk_buff *skb;
+	unsigned long i;
 	int ret;
-	int i;
 
 	rcu_read_lock();
 
 	for (i = 0; i < frames; i++) {
-		skb = rtw_txq_dequeue(rtwdev, rtwtxq);
+		skb = ieee80211_tx_dequeue(rtwdev->hw, txq);
 		if (!skb)
 			break;
 
-- 
2.43.7


^ permalink raw reply related

* Re: [PATCH] wifi: ath11k: fix warning when unbinding
From: Jose Ignacio Tornos Martinez @ 2026-05-07  7:08 UTC (permalink / raw)
  To: rameshkumar.sundaram
  Cc: ath11k, jjohnson, jtornosm, linux-kernel, linux-wireless, stable
In-Reply-To: <005af843-da19-4df9-af67-2cd148b24d62@oss.qualcomm.com>

Hello Rameshkumar,

The hardwre that I am using is QCNFA765, but I think it is something
related to ath11k driver and not related to some specific hardware.

I am running with the latest upstream kernel and I can reproduce it, so
I think it is not related with the problems that you comment.

Let me repeat this to try to clarify:

The easiest way to reproduce it is to run in a VM the default upstream
kernel (with this card using PCI passthrough), and since this is always
failing, just unbind the device (ath11k_pci).

The same problem was fixed by me for ath12k driver here ca68ce0d9f4b
("wifi: ath12k: fix warning when unbinding"), and I have seen the same
problem is also happening for ath11k driver.

Thanks

Best regards
José Ignacio


^ permalink raw reply

* [PATCH] wifi: mt76: use kfree_rcu for offchannel link in mt76_put_vif_phy_link
From: Rajat Gupta @ 2026-05-07  4:35 UTC (permalink / raw)
  To: nbd, lorenzo, ryder.lee
  Cc: shayne.chen, sean.wang, linux-wireless, rajgupt, Rajat Gupta

mt76_put_vif_phy_link() frees the offchannel mlink with plain kfree()
after rcu_assign_pointer(NULL). However, rcu_assign_pointer only prevents
future RCU readers from obtaining the pointer -- it does not wait for
existing readers that already hold it via rcu_dereference.

The TX datapath (e.g. mt7996_mac_write_txwi) dereferences mlink->wcid
and mlink->idx under rcu_read_lock. If a TX softirq obtained the pointer
via rcu_dereference just before the NULL assignment, it will dereference
freed memory after the kfree.

struct mt76_vif_link already contains an rcu_head field that is unused at
this free site -- a developer oversight, since the adjacent
kfree_rcu_mightsleep call for rx_sc in the same function shows the
pattern was understood.

Replace kfree(mlink) with kfree_rcu(mlink, rcu_head).

Fixes: a8f424c1287c ("wifi: mt76: add multi-radio remain_on_channel functions")
Signed-off-by: Rajat Gupta <rajat.gupta@oss.qualcomm.com>
---
 drivers/net/wireless/mediatek/mt76/channel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/mediatek/mt76/channel.c b/drivers/net/wireless/mediatek/mt76/channel.c
index 05eee6470..6edcb3b8f 100644
--- a/drivers/net/wireless/mediatek/mt76/channel.c
+++ b/drivers/net/wireless/mediatek/mt76/channel.c
@@ -307,7 +307,7 @@ void mt76_put_vif_phy_link(struct mt76_phy *phy, struct ieee80211_vif *vif,
 
 	rcu_assign_pointer(mvif->offchannel_link, NULL);
 	dev->drv->vif_link_remove(phy, vif, &vif->bss_conf, mlink);
-	kfree(mlink);
+	kfree_rcu(mlink, rcu_head);
 }
 
 void mt76_roc_complete(struct mt76_phy *phy)
-- 
2.43.0


^ permalink raw reply related

* [PATCH wireless-next] wifi: plfxlc: use module_usb_driver() macro
From: Rosen Penev @ 2026-05-07  1:54 UTC (permalink / raw)
  To: linux-wireless; +Cc: Srinivasan Raju, open list

init and exit do nothing interesting that module_usb_driver doesn't
already handle. Just use module_usb_driver to simplify the code.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
 drivers/net/wireless/purelifi/plfxlc/usb.c | 25 ++--------------------
 1 file changed, 2 insertions(+), 23 deletions(-)

diff --git a/drivers/net/wireless/purelifi/plfxlc/usb.c b/drivers/net/wireless/purelifi/plfxlc/usb.c
index 5724ec173e64..6d24086eb8b7 100644
--- a/drivers/net/wireless/purelifi/plfxlc/usb.c
+++ b/drivers/net/wireless/purelifi/plfxlc/usb.c
@@ -851,7 +851,7 @@ static int resume(struct usb_interface *interface)
 
 #endif
 
-static struct usb_driver driver = {
+static struct usb_driver usbdriver = {
 	.name = KBUILD_MODNAME,
 	.id_table = usb_ids,
 	.probe = probe,
@@ -865,25 +865,7 @@ static struct usb_driver driver = {
 	.disable_hub_initiated_lpm = 1,
 };
 
-static int __init usb_init(void)
-{
-	int r;
-
-	r = usb_register(&driver);
-	if (r) {
-		pr_err("%s usb_register() failed %d\n", driver.name, r);
-		return r;
-	}
-
-	pr_debug("Driver initialized :%s\n", driver.name);
-	return 0;
-}
-
-static void __exit usb_exit(void)
-{
-	usb_deregister(&driver);
-	pr_debug("%s %s\n", driver.name, __func__);
-}
+module_usb_driver(usbdriver);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("USB driver for pureLiFi devices");
@@ -891,6 +873,3 @@ MODULE_AUTHOR("pureLiFi");
 MODULE_VERSION("1.0");
 MODULE_FIRMWARE("plfxlc/lifi-x.bin");
 MODULE_DEVICE_TABLE(usb, usb_ids);
-
-module_init(usb_init);
-module_exit(usb_exit);
-- 
2.54.0


^ permalink raw reply related

* [PATCH v3] wifi: ath12k: fix incorrect HT/VHT/HE/EHT MCS reporting in monitor mode
From: kwan1996 @ 2026-05-07  1:53 UTC (permalink / raw)
  To: ath12k, linux-wireless; +Cc: Kwan Lai Chee Hou

From: Kwan Lai Chee Hou <laicheehou9@gmail.com>

In monitor mode, the driver incorrectly assigns the legacy rate
to the rate_idx field of the radiotap header for HT/VHT/HE/EHT
frames, ignoring the actual MCS value parsed from the hardware.

This causes packet analyzers (like Wireshark) to display incorrect
MCS values (e.g., legacy base rates instead of the true MCS).

Fix this by assigning ppdu_info->mcs as the default rate_mcs
in ath12k_dp_mon_fill_rx_rate(), and remove rate_idx assignments in 
ath12k_dp_mon_update_radiotap() to preserve
the previously calculated MCS values (including the HT NSS offset).

Link: https://bugzilla.kernel.org/show_bug.cgi?id=220864

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ

Signed-off-by: Kwan Lai Chee Hou <laicheehou9@gmail.com>

---
v3: 
 - Simplify rate_mcs assignment logic in ath12k_dp_mon_fill_rx_rate.
 - remove rate_idx assignments in ath12k_dp_mon_update_radiotap to avoid overwriting the HT (802.11n) MCS calculated earlier.
 
v2: Fix indentation and formatting issues in v1.
---
 drivers/net/wireless/ath/ath12k/dp_mon.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/ath/ath12k/dp_mon.c b/drivers/net/wireless/ath/ath12k/dp_mon.c
index 39d1967..79347c3 100644
--- a/drivers/net/wireless/ath/ath12k/dp_mon.c
+++ b/drivers/net/wireless/ath/ath12k/dp_mon.c
@@ -1910,13 +1910,14 @@ ath12k_dp_mon_fill_rx_rate(struct ath12k *ar,
 	bool is_cck;
 
 	pkt_type = ppdu_info->preamble_type;
-	rate_mcs = ppdu_info->rate;
+	rate_mcs = ppdu_info->mcs;
 	nss = ppdu_info->nss;
 	sgi = ppdu_info->gi;
 
 	switch (pkt_type) {
 	case RX_MSDU_START_PKT_TYPE_11A:
 	case RX_MSDU_START_PKT_TYPE_11B:
+		rate_mcs = ppdu_info->rate;
 		is_cck = (pkt_type == RX_MSDU_START_PKT_TYPE_11B);
 		if (rx_status->band < NUM_NL80211_BANDS) {
 			sband = &ar->mac.sbands[rx_status->band];
@@ -2259,13 +2260,10 @@ static void ath12k_dp_mon_update_radiotap(struct ath12k *ar,
 		rxs->encoding = RX_ENC_HE;
 		ptr = skb_push(mon_skb, sizeof(struct ieee80211_radiotap_he));
 		ath12k_dp_mon_rx_update_radiotap_he(ppduinfo, ptr);
-		rxs->rate_idx = ppduinfo->rate;
 	} else if (ppduinfo->vht_flags) {
 		rxs->encoding = RX_ENC_VHT;
-		rxs->rate_idx = ppduinfo->rate;
 	} else if (ppduinfo->ht_flags) {
 		rxs->encoding = RX_ENC_HT;
-		rxs->rate_idx = ppduinfo->rate;
 	} else {
 		rxs->encoding = RX_ENC_LEGACY;
 		sband = &ar->mac.sbands[rxs->band];
-- 
2.34.1


^ permalink raw reply related

* Re: [bug report] wifi: mt76: mt7925: iw set txpower fixed accepted but ignored
From: John Henry @ 2026-05-07  0:27 UTC (permalink / raw)
  To: Sean Wang
  Cc: Javier Tia, Bradley Pizzimenti, linux-wireless, linux-kernel, nbd,
	lorenzo, ryder.lee, shayne.chen, sean.wang,
	moderated list:ARM/Mediatek SoC support
In-Reply-To: <CAGp9LzqkJ8QoOnBAiGu=uum3-LmCB3yHr91sw1HoLw+7ewNx6A@mail.gmail.com>

Hi Sean,

Thanks for the pointer. I read through the patch — it addresses the
txpower reporting / display value (iw dev info showing the correct
dBm), which I think is a separate concern from the issue I reported.
Please forgive me if I am being presumptuous on this issue.

This issue is related to monitor mode retune's of >= 5 channels.
retunes of lists of 4 channels or less does not exhibit this issue.
Neither do I see these strong "RF Ticks" in managed mode.

Maybe a bit more clarification or other....
The behavior I'm seeing is a real very strong RF emission at channel
frequency on each retune, observable on a fast spectrum analyzer. It
only occurs in monitor mode and only when the per-channel-set sequence
touches >= 5 distinct frequencies. The same chip in managed mode being
driven through the offloaded scan path (NL80211_CMD_TRIGGER_SCAN) does
not exhibit it, even when sweeping the same set of 5+ frequencies.

Reproduction with stock iw commands (no custom code):

IFACE=$(iw dev | awk '/Interface wl/ {print $2; exit}')
iw reg set US ; sleep 1
ip link set "$IFACE" down
iw dev "$IFACE" set type monitor
ip link set "$IFACE" up

# This triggers narrowband bursts at channel center on each retune:
while true; do
  for f in 2412 2417 2422 2427 2432; do
    iw dev "$IFACE" set freq "$f" HT20
  done
done

# This does NOT (only 4 frequencies):
while true; do
  for f in 2412 2422 2462 2484; do
    iw dev "$IFACE" set freq "$f" HT20
  done
done

Bursts are ~800 kHz wide at the base, -30 to -50 dBm OTA at close
range, brief (estimated few hundred microseconds), at channel
frequency. tx_stats counters remain zero throughout. Behavior is
identical on a custom mt7921au board and a retail ALFA AWUS036AXML, in
an RF-quiet environment with no other 802.11 / Bluetooth devices
present.

The strong mode dependence (monitor per-tune yes, scan path no,
identical frequencies and counts) suggests the firmware is doing
something on the per-channel-set path that the offloaded scan path
skips — possibly per-channel TX calibration. Is there a known firmware
operation triggered by the monitor-mode channel-set MCU command that
could produce this, and is it suppressible for passive sniffer use
cases?

Thanks,
John Henry

^ permalink raw reply

* Re: [bug report] wifi: mt76: mt7925: iw set txpower fixed accepted but ignored
From: Sean Wang @ 2026-05-07  0:11 UTC (permalink / raw)
  To: Javier Tia
  Cc: Bradley Pizzimenti, linux-wireless, linux-kernel, nbd, lorenzo,
	ryder.lee, shayne.chen, sean.wang,
	moderated list:ARM/Mediatek SoC support
In-Reply-To: <20260506200918.D68321EA006C@mailuser.phl.internal>

Hi,

The TX power reporting issue has already been investigated by Lucid
from the Linux WiFi USB community, and there is a proposed solution.
I think we can continue checking whether there are any remaining
issues on top of that work. Please refer to the patches here:
https://lists.infradead.org/pipermail/linux-mediatek/2026-April/105726.html
Thanks everyone for reporting and raising these concerns.

On Wed, May 6, 2026 at 3:09 PM Javier Tia <floss@jetm.me> wrote:
>
> On Sun May  4 22:04:48 2026 Bradley Pizzimenti wrote:
> > `iw dev <iface> set txpower fixed N` returns success on mt7925 for
> > any N tested, but the reported txpower never changes from a stuck
> > value of 3.00 dBm.
>
> Hi Bradley,
>
> The 3 dBm display bug is a known issue we have seen when using mt7927
> and a tested fix has been working well so far. The root cause is that
> mt7925_mcu_set_rate_txpower() programs the per-band SKU tables into
> firmware but never assigns phy->txpower_cur. mt76_get_txpower() then
> computes:
>
>   DIV_ROUND_UP(0 + 6, 2) = 3
>
> regardless of the actual power level. The RF output is unaffected;
> it is a display-only bug.
>
> The fix reads the effective TX power back from the rate power limits
> after programming the SKU tables and writes it to phy->txpower_cur,
> following the same pattern used by mt7996:
>
>   https://github.com/jetm/mediatek-mt7927-dkms/blob/master/mt7927-wifi-14-fix-reported-txpower-always-showing-3-db.patch
>
> This is part of a series we are targeting for wireless-next; not
> yet upstream.
>
> > What seems potentially distinct here is that the user-issued
> > `iw set txpower fixed N` itself is silently no-op'd, separate
> > from the reported-value question.
>
> Agreed those are two separate issues. Our patch addresses the
> display-only side: after applying it, iw will report the value the
> firmware is actually using based on the SKU tables, rather than
> always 3 dBm. Whether `set txpower fixed N` propagates to firmware
> to change actual output power is orthogonal and not addressed here.
>
> If you can test the patch on your MT7925 and confirm the displayed
> value reflects the correct power after association, a Tested-by
> would be appreciated.
>
> Best,
> Javier
>

^ permalink raw reply

* mt7921u: monitor-mode per-channel retune emits narrowband RF burst
From: John Henry @ 2026-05-06 23:50 UTC (permalink / raw)
  To: linux-mediatek; +Cc: linux-wireless

Hello,

We have isolated a reproducible RF emission from MT7921U (MT7961
silicon) that occurs only when the device is in monitor mode and
being retuned across >= 5 distinct frequencies. The same chip in
managed mode, retuned across the same frequencies via the kernel's
scan API, produces no such emission. The behavior is reproducible
using only stock iw commands - no custom code is required.


Environment
-----------

- Adapter: multiple mt7921au-based adapters tested (custom in-house
  board and retail ALFA AWUS036AXML); identical behavior on both
- Chipset: MT7921AU, ASIC revision 0x79610010
- Kernel: 6.1.0-40-amd64 (Debian)
- Driver: in-tree mt76 (mt7921u.ko), module timestamp 2025-09-20
- Firmware:
    WIFI_MT7961_patch_mcu_1_2_hdr.bin
    WIFI_RAM_CODE_MT7961_1.bin
  HW/SW Version: 0x8a108a10, Build Time: 20241106151007a
  WM Firmware Version: ____010000, Build Time: 20241106151045
- Regulatory domain: US
- runtime-pm = 0, deep-sleep = 0


Reproduction
------------

Setup (monitor mode):

    IFACE=$(iw dev | awk '/Interface wl/ {print $2; exit}')
    iw reg set US ; sleep 1
    ip link set "$IFACE" down
    iw dev "$IFACE" set type monitor
    ip link set "$IFACE" up

Reproduction loop (this triggers the emission):

    FREQS=(2412 2417 2422 2427 2432)   # five 2.4 GHz frequencies
    while true; do
        for f in "${FREQS[@]}"; do
            iw dev "$IFACE" set freq "$f" HT20
        done
    done

With a fast spectrum analyzer (real-time / FFT-based), a narrowband
RF burst appears at the tuned channel on each retune. There appear
to be several bursts around the channel of varying strength.

The same loop with four frequencies (any subset) produces NO emission:

    FREQS=(2412 2422 2462 2484)        # four frequencies
    # ... same loop ...                 # no emission observed


Emission characteristics
------------------------

- Narrowband peak, ~800 kHz wide at the base, with skirts that
  fall off toward the noise floor and reach approximately the
  full 20 MHz channel width.
- Amplitude: -30 to -50 dBm measured over-the-air at close range
  with a fast real-time spectrum analyzer. Most around -40 dBm.
  Sometimes stronger. Usually stronger than normal WiFi signals
  from other standard WiFi connected devices within feet.
- Brief, on the order of hundreds of microseconds (not precisely
  measured). Too short for full OFDM spectral shape to resolve
  on our analyzer.
- Appears in 2.4 / 5 / 6 GHz, with band-dependent amplitude
  consistent with per-band PA characteristics.
- One or more burst per retune. Tick rate scales with retune rate;
  presence/absence is independent of dwell time (50 ms to 5 s
  tested).
- Independent of which specific frequencies are chosen: any 5
  distinct frequencies reproduce the behavior; any 4 do not.
- Reproduced in an RF-quiet shielded environment with no other
  802.11 / Bluetooth devices present.
- Identical behavior on multiple adapters (custom board and several
  retail ALFA AWUS036AXML), ruling out board-specific layout effects.


Mode dependence
---------------

The emission is monitor-mode-specific. We tested multiple paths:

  monitor mode + per-channel "iw set freq"  -> emission present
  monitor mode + SIOCSIWFREQ ioctl          -> emission present (same)
  managed mode + "iw dev scan freq ..."     -> emission absent
  managed mode + "iw dev scan ... passive"  -> emission absent

The kernel-driven offloaded scan path (NL80211_CMD_TRIGGER_SCAN)
on a managed interface does NOT exhibit the emission, even when
sweeping the same set of >= 5 frequencies repeatedly. This
strongly suggests that the firmware's scan path is using
different RF logic than the per-channel-set path used in
monitor mode.


What we have ruled out
----------------------

- Not transmitted as a 802.11 frame: a second mt7921u in monitor
  mode placed nearby does not capture any frame from the test
  adapter's MAC during the emission.
- /sys/kernel/debug/ieee80211/phy0/mt76/tx_stats counters all
  remain zero during both 4-frequency and 5-frequency monitor
  mode sweeps.
- fw_debug=1 produces no mt76-related dmesg output on our build;
  the firmware does not log this event via the standard debug
  path.
- Not active monitor / ACK behavior: explicit "iw dev set monitor
  none" does not suppress the emission.
- Not a USB transport issue: the only USB-related dmesg activity
  during testing is unrelated xhci_hcd HCI errors that are
  present whether or not the test is running.
- Not active scan probe TX: "iw scan ... passive" with managed-
  mode interface produces no emission, confirming the absence of
  managed-mode scan emission is not just probe-request elision.


Hypothesis
----------

Given that the emission is real PA output (visible amplitude on
external instruments, not visible to driver counters or peer
captures), is monitor-mode-specific, scales with retune count
rather than dwell, and triggers only above a small fixed
threshold of distinct frequencies, our best guess is that the
monitor-mode per-channel retune path triggers a per-channel
firmware operation - possibly a TX or PA calibration/trim
sequence - which is suppressed or differently scheduled in the
offloaded scan path.

The threshold of exactly 5 (any 4 channels are silent, any 5+
emit) suggests a firmware-internal cache of size 4 with cache
miss triggering recalibration on revisit. We have no direct
evidence of this; it is an inference from external behavior.


Questions
---------

1. Can anyone confirm what firmware operation is triggered by
   the monitor-mode per-channel retune path that the offloaded
   scan path avoids?

2. Is there an MCU command, debugfs knob, or driver flag that
   can suppress this firmware operation when the chip is being
   used as a passive sniffer?

3. Could the monitor-mode channel-set path be modified in mt76
   to use whatever optimized firmware operation the scan path
   uses?


Why this matters
----------------

For passive RF survey and security-assessment use cases, a
sweeper that emits anything during a sweep contaminates the
environment it is supposed to be measuring. At present this
limits practical mt7921u-based sweepers to <= 4 channels per
list, which is impractical for full-spectrum work and is a
significant usability problem we'd like to address in a clean
way.

We are happy to provide further diagnostics, additional test
results, or test any patches that might help isolate or
suppress the behavior.

Thanks,
John Henry

^ permalink raw reply

* [PATCHv2 ath-next] wifi: ath9k_htc: use module_usb_driver
From: Rosen Penev @ 2026-05-06 23:48 UTC (permalink / raw)
  To: linux-wireless; +Cc: Toke Høiland-Jørgensen, open list

This follows the pattern with other USB Wifi drivers. There is nothing
special being done in the _init and _exit functions here. Simplifies and
saves some lines of code.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
 v2: move module_usb_driver to its proper place.
 drivers/net/wireless/ath/ath9k/hif_usb.c      | 10 +---------
 drivers/net/wireless/ath/ath9k/hif_usb.h      |  2 --
 drivers/net/wireless/ath/ath9k/htc_drv_init.c | 18 ------------------
 3 files changed, 1 insertion(+), 29 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/hif_usb.c b/drivers/net/wireless/ath/ath9k/hif_usb.c
index 8ae4e5d4fa14..515267f48d80 100644
--- a/drivers/net/wireless/ath/ath9k/hif_usb.c
+++ b/drivers/net/wireless/ath/ath9k/hif_usb.c
@@ -1520,12 +1520,4 @@ static struct usb_driver ath9k_hif_usb_driver = {
 	.disable_hub_initiated_lpm = 1,
 };
 
-int ath9k_hif_usb_init(void)
-{
-	return usb_register(&ath9k_hif_usb_driver);
-}
-
-void ath9k_hif_usb_exit(void)
-{
-	usb_deregister(&ath9k_hif_usb_driver);
-}
+module_usb_driver(ath9k_hif_usb_driver);
diff --git a/drivers/net/wireless/ath/ath9k/hif_usb.h b/drivers/net/wireless/ath/ath9k/hif_usb.h
index c28033ee61ce..dc0b0fa5c325 100644
--- a/drivers/net/wireless/ath/ath9k/hif_usb.h
+++ b/drivers/net/wireless/ath/ath9k/hif_usb.h
@@ -136,8 +136,6 @@ struct hif_device_usb {
 	u8 flags; /* HIF_USB_* */
 };
 
-int ath9k_hif_usb_init(void);
-void ath9k_hif_usb_exit(void);
 void ath9k_hif_usb_dealloc_urbs(struct hif_device_usb *hif_dev);
 
 #endif /* HTC_USB_H */
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_init.c b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
index 5270d0c0af17..6de78ae85726 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_init.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
@@ -1021,21 +1021,3 @@ int ath9k_htc_resume(struct htc_target *htc_handle)
 	return ret;
 }
 #endif
-
-static int __init ath9k_htc_init(void)
-{
-	if (ath9k_hif_usb_init() < 0) {
-		pr_err("No USB devices found, driver not installed\n");
-		return -ENODEV;
-	}
-
-	return 0;
-}
-module_init(ath9k_htc_init);
-
-static void __exit ath9k_htc_exit(void)
-{
-	ath9k_hif_usb_exit();
-	pr_info("Driver unloaded\n");
-}
-module_exit(ath9k_htc_exit);
-- 
2.54.0


^ permalink raw reply related

* [wireless-next:main] BUILD SUCCESS 89e367a90c1a877ca9c5d75d3848582d80fd0e60
From: kernel test robot @ 2026-05-06 22:56 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless

tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git main
branch HEAD: 89e367a90c1a877ca9c5d75d3848582d80fd0e60  wifi: mac80211: explicitly disable FTM responder on AP stop

elapsed time: 729m

configs tested: 271
configs skipped: 19

The following configs have been built successfully.
More configs may be tested in the coming days.

tested configs:
alpha                             allnoconfig    gcc-15.2.0
alpha                            allyesconfig    gcc-15.2.0
alpha                               defconfig    gcc-15.2.0
arc                              allmodconfig    clang-16
arc                               allnoconfig    gcc-15.2.0
arc                              allyesconfig    clang-23
arc                                 defconfig    gcc-15.2.0
arc                            randconfig-001    gcc-8.5.0
arc                   randconfig-001-20260506    gcc-12.5.0
arc                   randconfig-001-20260506    gcc-8.5.0
arc                   randconfig-001-20260507    gcc-14.3.0
arc                            randconfig-002    gcc-8.5.0
arc                   randconfig-002-20260506    gcc-12.5.0
arc                   randconfig-002-20260506    gcc-8.5.0
arc                   randconfig-002-20260507    gcc-14.3.0
arm                               allnoconfig    gcc-15.2.0
arm                              allyesconfig    clang-16
arm                                 defconfig    gcc-15.2.0
arm                            randconfig-001    gcc-8.5.0
arm                   randconfig-001-20260506    gcc-12.5.0
arm                   randconfig-001-20260506    gcc-8.5.0
arm                            randconfig-002    gcc-8.5.0
arm                   randconfig-002-20260506    gcc-12.5.0
arm                   randconfig-002-20260506    gcc-8.5.0
arm                   randconfig-002-20260507    gcc-14.3.0
arm                            randconfig-003    gcc-8.5.0
arm                   randconfig-003-20260506    gcc-12.5.0
arm                   randconfig-003-20260506    gcc-8.5.0
arm                            randconfig-004    gcc-8.5.0
arm                   randconfig-004-20260506    gcc-12.5.0
arm                   randconfig-004-20260506    gcc-8.5.0
arm                   randconfig-004-20260507    gcc-14.3.0
arm64                            allmodconfig    clang-23
arm64                             allnoconfig    gcc-15.2.0
arm64                               defconfig    gcc-15.2.0
arm64                          randconfig-001    gcc-15.2.0
arm64                 randconfig-001-20260506    gcc-15.2.0
arm64                 randconfig-001-20260507    gcc-15.2.0
arm64                          randconfig-002    gcc-15.2.0
arm64                 randconfig-002-20260506    gcc-15.2.0
arm64                 randconfig-002-20260507    gcc-15.2.0
arm64                          randconfig-003    gcc-15.2.0
arm64                 randconfig-003-20260506    gcc-15.2.0
arm64                 randconfig-003-20260507    gcc-15.2.0
arm64                          randconfig-004    gcc-15.2.0
arm64                 randconfig-004-20260506    gcc-15.2.0
arm64                 randconfig-004-20260507    gcc-15.2.0
csky                             alldefconfig    gcc-15.2.0
csky                             allmodconfig    gcc-15.2.0
csky                              allnoconfig    gcc-15.2.0
csky                                defconfig    gcc-15.2.0
csky                           randconfig-001    gcc-15.2.0
csky                  randconfig-001-20260506    gcc-15.2.0
csky                  randconfig-001-20260507    gcc-15.2.0
csky                           randconfig-002    gcc-15.2.0
csky                  randconfig-002-20260506    gcc-15.2.0
csky                  randconfig-002-20260507    gcc-15.2.0
hexagon                          allmodconfig    gcc-15.2.0
hexagon                           allnoconfig    gcc-15.2.0
hexagon                             defconfig    gcc-15.2.0
hexagon                        randconfig-001    gcc-11.5.0
hexagon               randconfig-001-20260506    clang-23
hexagon               randconfig-001-20260506    gcc-11.5.0
hexagon                        randconfig-002    gcc-11.5.0
hexagon               randconfig-002-20260506    clang-23
hexagon               randconfig-002-20260506    gcc-11.5.0
i386                             allmodconfig    clang-20
i386                             allmodconfig    gcc-14
i386                              allnoconfig    gcc-15.2.0
i386                             allyesconfig    clang-20
i386                             allyesconfig    gcc-14
i386                 buildonly-randconfig-001    clang-20
i386        buildonly-randconfig-001-20260506    clang-20
i386        buildonly-randconfig-001-20260506    gcc-14
i386                 buildonly-randconfig-002    clang-20
i386        buildonly-randconfig-002-20260506    clang-20
i386        buildonly-randconfig-002-20260506    gcc-14
i386                 buildonly-randconfig-003    clang-20
i386        buildonly-randconfig-003-20260506    clang-20
i386                 buildonly-randconfig-004    clang-20
i386        buildonly-randconfig-004-20260506    clang-20
i386                 buildonly-randconfig-005    clang-20
i386        buildonly-randconfig-005-20260506    clang-20
i386                 buildonly-randconfig-006    clang-20
i386        buildonly-randconfig-006-20260506    clang-20
i386        buildonly-randconfig-006-20260506    gcc-14
i386                                defconfig    gcc-15.2.0
i386                  randconfig-001-20260506    gcc-14
i386                  randconfig-002-20260506    gcc-14
i386                  randconfig-003-20260506    gcc-14
i386                  randconfig-004-20260506    gcc-14
i386                  randconfig-005-20260506    gcc-14
i386                  randconfig-006-20260506    gcc-14
i386                  randconfig-007-20260506    gcc-14
i386                           randconfig-011    clang-20
i386                  randconfig-011-20260506    clang-20
i386                           randconfig-012    clang-20
i386                  randconfig-012-20260506    clang-20
i386                           randconfig-013    clang-20
i386                  randconfig-013-20260506    clang-20
i386                           randconfig-014    clang-20
i386                  randconfig-014-20260506    clang-20
i386                           randconfig-015    clang-20
i386                  randconfig-015-20260506    clang-20
i386                           randconfig-016    clang-20
i386                  randconfig-016-20260506    clang-20
i386                           randconfig-017    clang-20
i386                  randconfig-017-20260506    clang-20
loongarch                        allmodconfig    clang-23
loongarch                         allnoconfig    gcc-15.2.0
loongarch                           defconfig    clang-19
loongarch                      randconfig-001    gcc-11.5.0
loongarch             randconfig-001-20260506    clang-23
loongarch             randconfig-001-20260506    gcc-11.5.0
loongarch                      randconfig-002    gcc-11.5.0
loongarch             randconfig-002-20260506    clang-23
loongarch             randconfig-002-20260506    gcc-11.5.0
m68k                             allmodconfig    gcc-15.2.0
m68k                              allnoconfig    gcc-15.2.0
m68k                             allyesconfig    clang-16
m68k                         apollo_defconfig    gcc-15.2.0
m68k                                defconfig    clang-19
microblaze                        allnoconfig    gcc-15.2.0
microblaze                       allyesconfig    gcc-15.2.0
microblaze                          defconfig    clang-19
mips                             allmodconfig    gcc-15.2.0
mips                              allnoconfig    gcc-15.2.0
mips                             allyesconfig    gcc-15.2.0
mips                       lemote2f_defconfig    gcc-15.2.0
nios2                            allmodconfig    clang-23
nios2                             allnoconfig    clang-23
nios2                               defconfig    clang-19
nios2                          randconfig-001    gcc-11.5.0
nios2                 randconfig-001-20260506    clang-23
nios2                 randconfig-001-20260506    gcc-11.5.0
nios2                          randconfig-002    gcc-11.5.0
nios2                 randconfig-002-20260506    clang-23
nios2                 randconfig-002-20260506    gcc-11.5.0
openrisc                         allmodconfig    clang-23
openrisc                          allnoconfig    clang-23
openrisc                            defconfig    gcc-15.2.0
openrisc                       virt_defconfig    gcc-15.2.0
parisc                           allmodconfig    gcc-15.2.0
parisc                            allnoconfig    clang-23
parisc                           allyesconfig    clang-19
parisc                              defconfig    gcc-15.2.0
parisc                         randconfig-001    gcc-13.4.0
parisc                randconfig-001-20260506    gcc-13.4.0
parisc                randconfig-001-20260507    gcc-8.5.0
parisc                         randconfig-002    gcc-13.4.0
parisc                randconfig-002-20260506    gcc-13.4.0
parisc                randconfig-002-20260507    gcc-8.5.0
parisc64                            defconfig    clang-19
powerpc                          allmodconfig    gcc-15.2.0
powerpc                           allnoconfig    clang-23
powerpc                        randconfig-001    gcc-13.4.0
powerpc               randconfig-001-20260506    gcc-13.4.0
powerpc               randconfig-001-20260507    gcc-8.5.0
powerpc                        randconfig-002    gcc-13.4.0
powerpc               randconfig-002-20260506    gcc-13.4.0
powerpc               randconfig-002-20260507    gcc-8.5.0
powerpc64             randconfig-001-20260506    gcc-13.4.0
powerpc64             randconfig-001-20260507    gcc-8.5.0
powerpc64                      randconfig-002    gcc-13.4.0
powerpc64             randconfig-002-20260506    gcc-13.4.0
powerpc64             randconfig-002-20260507    gcc-8.5.0
riscv                            allmodconfig    clang-23
riscv                             allnoconfig    clang-23
riscv                            allyesconfig    clang-16
riscv                               defconfig    gcc-15.2.0
riscv                 randconfig-001-20260506    gcc-8.5.0
riscv                 randconfig-002-20260506    gcc-8.5.0
s390                             allmodconfig    clang-19
s390                              allnoconfig    clang-23
s390                             allyesconfig    gcc-15.2.0
s390                                defconfig    gcc-15.2.0
s390                  randconfig-001-20260506    gcc-8.5.0
s390                  randconfig-002-20260506    gcc-8.5.0
sh                               allmodconfig    gcc-15.2.0
sh                                allnoconfig    clang-23
sh                               allyesconfig    clang-19
sh                                  defconfig    gcc-14
sh                    randconfig-001-20260506    gcc-8.5.0
sh                    randconfig-002-20260506    gcc-8.5.0
sparc                             allnoconfig    clang-23
sparc                               defconfig    gcc-15.2.0
sparc                 randconfig-001-20260506    gcc-11.5.0
sparc                 randconfig-001-20260507    gcc-12.5.0
sparc                 randconfig-002-20260506    gcc-11.5.0
sparc                 randconfig-002-20260507    gcc-12.5.0
sparc64                          allmodconfig    clang-23
sparc64                             defconfig    gcc-14
sparc64               randconfig-001-20260507    gcc-12.5.0
sparc64               randconfig-002-20260507    gcc-12.5.0
um                               allmodconfig    clang-19
um                                allnoconfig    clang-23
um                               allyesconfig    gcc-15.2.0
um                                  defconfig    gcc-14
um                             i386_defconfig    gcc-14
um                    randconfig-001-20260506    gcc-11.5.0
um                    randconfig-001-20260507    gcc-12.5.0
um                    randconfig-002-20260507    gcc-12.5.0
um                           x86_64_defconfig    gcc-14
x86_64                           allmodconfig    clang-20
x86_64                            allnoconfig    clang-23
x86_64                           allyesconfig    clang-20
x86_64      buildonly-randconfig-001-20260506    clang-20
x86_64      buildonly-randconfig-002-20260506    clang-20
x86_64      buildonly-randconfig-003-20260506    clang-20
x86_64      buildonly-randconfig-004-20260506    clang-20
x86_64      buildonly-randconfig-005-20260506    clang-20
x86_64      buildonly-randconfig-006-20260506    clang-20
x86_64                              defconfig    gcc-14
x86_64                                  kexec    clang-20
x86_64                         randconfig-001    clang-20
x86_64                randconfig-001-20260506    clang-20
x86_64                randconfig-001-20260506    gcc-13
x86_64                         randconfig-002    clang-20
x86_64                randconfig-002-20260506    clang-20
x86_64                         randconfig-003    clang-20
x86_64                randconfig-003-20260506    clang-20
x86_64                         randconfig-004    clang-20
x86_64                randconfig-004-20260506    clang-20
x86_64                         randconfig-005    clang-20
x86_64                randconfig-005-20260506    clang-20
x86_64                randconfig-005-20260506    gcc-13
x86_64                         randconfig-006    clang-20
x86_64                randconfig-006-20260506    clang-20
x86_64                         randconfig-011    clang-20
x86_64                randconfig-011-20260506    clang-20
x86_64                         randconfig-012    clang-20
x86_64                randconfig-012-20260506    clang-20
x86_64                         randconfig-013    clang-20
x86_64                randconfig-013-20260506    clang-20
x86_64                         randconfig-014    clang-20
x86_64                randconfig-014-20260506    clang-20
x86_64                         randconfig-015    clang-20
x86_64                randconfig-015-20260506    clang-20
x86_64                         randconfig-016    clang-20
x86_64                randconfig-016-20260506    clang-20
x86_64                         randconfig-071    clang-20
x86_64                randconfig-071-20260506    clang-20
x86_64                randconfig-071-20260507    clang-20
x86_64                         randconfig-072    clang-20
x86_64                randconfig-072-20260506    clang-20
x86_64                randconfig-072-20260507    clang-20
x86_64                         randconfig-073    clang-20
x86_64                randconfig-073-20260506    clang-20
x86_64                randconfig-073-20260507    clang-20
x86_64                         randconfig-074    clang-20
x86_64                randconfig-074-20260506    clang-20
x86_64                randconfig-074-20260507    clang-20
x86_64                         randconfig-075    clang-20
x86_64                randconfig-075-20260506    clang-20
x86_64                randconfig-075-20260507    clang-20
x86_64                         randconfig-076    clang-20
x86_64                randconfig-076-20260506    clang-20
x86_64                randconfig-076-20260507    clang-20
x86_64                               rhel-9.4    clang-20
x86_64                           rhel-9.4-bpf    gcc-14
x86_64                          rhel-9.4-func    clang-20
x86_64                    rhel-9.4-kselftests    clang-20
x86_64                         rhel-9.4-kunit    gcc-14
x86_64                           rhel-9.4-ltp    gcc-14
x86_64                          rhel-9.4-rust    clang-20
xtensa                            allnoconfig    clang-23
xtensa                           allyesconfig    clang-23
xtensa                randconfig-001-20260506    gcc-11.5.0
xtensa                randconfig-001-20260507    gcc-12.5.0
xtensa                randconfig-002-20260506    gcc-11.5.0
xtensa                randconfig-002-20260507    gcc-12.5.0

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox