From d2127676cd1a5f46aef793c911005d91774eb966 Mon Sep 17 00:00:00 2001 From: "Bjoern A. Zeeb" Date: Mon, 7 Jun 2021 17:26:14 +0000 Subject: [PATCH] LinuxKPI: fix pci device devres initialisation Given we are manually setting up the "device" in PCI in some cases, we need to initialise the list and lock for device devres here as well as otherwise we will panic on the uninitialised lock. Sponsored by: The FreeBSD Foundation Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D30681 (cherry picked from commit c3518147ceb301b01763c3754697731a24410565) --- sys/compat/linuxkpi/common/src/linux_pci.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c index 030951175a4..9738f9e6f51 100644 --- a/sys/compat/linuxkpi/common/src/linux_pci.c +++ b/sys/compat/linuxkpi/common/src/linux_pci.c @@ -235,6 +235,8 @@ lkpifill_pci_dev(device_t dev, struct pci_dev *pdev) kobject_set_name(&pdev->dev.kobj, device_get_nameunit(dev)); kobject_add(&pdev->dev.kobj, &linux_root_device.kobj, kobject_name(&pdev->dev.kobj)); + spin_lock_init(&pdev->dev.devres_lock); + INIT_LIST_HEAD(&pdev->dev.devres_head); } static void