On Fri, 24 Jul 2026, Mark Millard wrote:

....
/home/pkgbuild/worktrees/main/sys/compat/linuxkpi/common/include/linux/device.h:376
No locals.
#20 pci_dev_put (pdev=0xdeadc0dedeadc0de)
   at
/home/pkgbuild/worktrees/main/sys/compat/linuxkpi/common/include/linux/pci.h:474
No locals.
#21 lkpi_pci_dev_release (dev=0xfffff8014e842a00)
   at
/home/pkgbuild/worktrees/main/sys/compat/linuxkpi/common/src/linux_pci.c:374

That would be my recent change I assume.


Can you test this?

% git diff
diff --git sys/compat/linuxkpi/common/src/linux_pci.c 
sys/compat/linuxkpi/common/src/linux_pci.c
index a49254425b5d..b1c28a188b94 100644
--- sys/compat/linuxkpi/common/src/linux_pci.c
+++ sys/compat/linuxkpi/common/src/linux_pci.c
@@ -370,7 +370,7 @@ lkpi_pci_dev_release(struct device *dev)
         */

        /* Clear the hierarchy recursively to root. */
-       if (pdev->bus->self != pdev) {
+       if (pdev->bus->self != pdev && pdev->bus->self != NULL) {
                pci_dev_put(pdev->bus->self);
                pdev->bus->self = NULL;
        }



       pdev = 0xfffff8014e842a00
#22 0xffffffff80eed1c8 in linux_kobject_release (kref=<optimized out>)
   at
/home/pkgbuild/worktrees/main/sys/compat/linuxkpi/common/src/linux_kobject.c:186
       kobj = 0xfffff8014e842a50
       name = 0xfffff80107bcd670 "rtw890"
#23 0xffffffff80ef11ea in kref_put (kref=0xdeadc0dedeadc13e,
   rel=<optimized out>)
   at
/home/pkgbuild/worktrees/main/sys/compat/linuxkpi/common/include/linux/kref.h:73
No locals.
#24 kobject_put (kobj=0xfffff8014e842a50)
   at
/home/pkgbuild/worktrees/main/sys/compat/linuxkpi/common/include/linux/kobject.h:113
No locals.
#25 put_device (dev=0xfffff8014e842a00)
   at
/home/pkgbuild/worktrees/main/sys/compat/linuxkpi/common/include/linux/device.h:376
No locals.
#26 linux_pci_attach_device (dev=<optimized out>, pdrv=<optimized out>,
   id=<optimized out>, pdev=0xfffff8014e842a00)
   at
/home/pkgbuild/worktrees/main/sys/compat/linuxkpi/common/src/linux_pci.c:744
       rid = 2304
       parent = <optimized out>
       isdrm = <optimized out>
       error = <optimized out>
       rle = <optimized out>
       pbus = <optimized out>
       ppbus = <optimized out>
#27 0xffffffff80c536c6 in DEVICE_ATTACH (dev=0xfffff8010799a800)
   at ./device_if.h:195
       _m = <optimized out>
       rc = <optimized out>
#28 device_attach (dev=0xfffff8010799a800)
   at /home/pkgbuild/worktrees/main/sys/kern/subr_bus.c:2630
       attachentropy = 32965
       saved_vnet = 0x0
       attachtime = 1943114510
       error = <optimized out>
#29 0xffffffff80c53255 in device_probe_and_attach (dev=0xfffff8014e842a00,
   dev@entry=0xfffff8010799a800)
   at /home/pkgbuild/worktrees/main/sys/kern/subr_bus.c:2579
...

--
Bjoern A. Zeeb                                                     r15:7

Reply via email to