aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjoern A. Zeeb <bz@FreeBSD.org>2021-06-07 17:26:14 +0000
committerBjoern A. Zeeb <bz@FreeBSD.org>2021-07-18 00:35:04 +0000
commitd2127676cd1a5f46aef793c911005d91774eb966 (patch)
treee3e9491a02be37713a9434c1c41594441ca35f86
parent1eaaada457d6c559188c7abb5c8fc1fa372ec231 (diff)
downloadsrc-d2127676cd1a5f46aef793c911005d91774eb966.tar.gz
src-d2127676cd1a5f46aef793c911005d91774eb966.zip
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)
-rw-r--r--sys/compat/linuxkpi/common/src/linux_pci.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c
index 030951175a42..9738f9e6f51a 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