diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2022-10-18 19:34:03 +0200 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2022-10-19 13:28:30 +0200 |
commit | eb1d39260ee6477e2971f81cec18ba5f6583259d (patch) | |
tree | 4081129ab0ca1415e8ffad09c4a973ad4b58c7df /drivers/acpi/pci_root.c | |
parent | 9abf2313adc1ca1b6180c508c25f22f9395cc780 (diff) | |
download | linux-eb1d39260ee6477e2971f81cec18ba5f6583259d.tar.gz linux-eb1d39260ee6477e2971f81cec18ba5f6583259d.tar.bz2 linux-eb1d39260ee6477e2971f81cec18ba5f6583259d.zip |
ACPI: PCI: Fix device reference counting in acpi_get_pci_dev()
Commit 63f534b8bad9 ("ACPI: PCI: Rework acpi_get_pci_dev()") failed
to reference count the device returned by acpi_get_pci_dev() as
expected by its callers which in some cases may cause device objects
to be dropped prematurely.
Add the missing get_device() to acpi_get_pci_dev().
Fixes: 63f534b8bad9 ("ACPI: PCI: Rework acpi_get_pci_dev()")
Reported-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi/pci_root.c')
-rw-r--r-- | drivers/acpi/pci_root.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c index c8385ef54c37..4e3db20e9cbb 100644 --- a/drivers/acpi/pci_root.c +++ b/drivers/acpi/pci_root.c @@ -323,6 +323,7 @@ struct pci_dev *acpi_get_pci_dev(acpi_handle handle) list_for_each_entry(pn, &adev->physical_node_list, node) { if (dev_is_pci(pn->dev)) { + get_device(pn->dev); pci_dev = to_pci_dev(pn->dev); break; } |