diff options
author | Bjoern A. Zeeb <bz@FreeBSD.org> | 2021-06-07 17:26:14 +0000 |
---|---|---|
committer | Bjoern A. Zeeb <bz@FreeBSD.org> | 2021-07-18 00:35:04 +0000 |
commit | d2127676cd1a5f46aef793c911005d91774eb966 (patch) | |
tree | e3e9491a02be37713a9434c1c41594441ca35f86 | |
parent | 1eaaada457d6c559188c7abb5c8fc1fa372ec231 (diff) | |
download | src-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.c | 2 |
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 |