This is a note to let you know that I've just added the patch titled
PCI: Don't look for ACPI hotplug parameters if ACPI is disabled
to the 3.19-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
pci-don-t-look-for-acpi-hotplug-parameters-if-acpi-is-disabled.patch
and it can be found in the queue-3.19 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.
>From 8647ca9ad5a0065ad53a2ad7e39163592b6ed35e Mon Sep 17 00:00:00 2001
From: Bjorn Helgaas <[email protected]>
Date: Tue, 24 Mar 2015 11:12:45 -0500
Subject: PCI: Don't look for ACPI hotplug parameters if ACPI is disabled
From: Bjorn Helgaas <[email protected]>
commit 8647ca9ad5a0065ad53a2ad7e39163592b6ed35e upstream.
Booting a v3.18 or newer Xen domU kernel with PCI devices passed through
results in an oops (this is a 32-bit 3.13.11 dom0 with a 64-bit 4.4.0
hypervisor and 32-bit domU):
BUG: unable to handle kernel paging request at 0030303e
IP: [<c06ed0e6>] acpi_ns_validate_handle+0x12/0x1a
Call Trace:
[<c06eda4d>] ? acpi_evaluate_object+0x31/0x1fc
[<c06b78e1>] ? pci_get_hp_params+0x111/0x4e0
[<c0407bc7>] ? xen_force_evtchn_callback+0x17/0x30
[<c04085fb>] ? xen_restore_fl_direct_reloc+0x4/0x4
[<c0699d34>] ? pci_device_add+0x24/0x450
Don't look for ACPI configuration information if ACPI has been disabled.
I don't think this is the best fix, because we can boot plain Linux (no
Xen) with "acpi=off", and we don't need this check in pci_get_hp_params().
There should be a better fix that would make Xen domU work the same way.
The domU kernel has ACPI support but it has no AML. There should be a way
to initialize the ACPI data structures so things fail gracefully rather
than oopsing. This is an interim fix to address the regression.
Fixes: 6cd33649fa83 ("PCI: Add pci_configure_device() during enumeration")
Link: https://bugzilla.kernel.org/show_bug.cgi?id=96301
Reported-by: Michael D Labriola <[email protected]>
Tested-by: Michael D Labriola <[email protected]>
Signed-off-by: Bjorn Helgaas <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/pci/pci-acpi.c | 3 +++
1 file changed, 3 insertions(+)
--- a/drivers/pci/pci-acpi.c
+++ b/drivers/pci/pci-acpi.c
@@ -248,6 +248,9 @@ int pci_get_hp_params(struct pci_dev *de
acpi_handle handle, phandle;
struct pci_bus *pbus;
+ if (acpi_pci_disabled)
+ return -ENODEV;
+
handle = NULL;
for (pbus = dev->bus; pbus; pbus = pbus->parent) {
handle = acpi_pci_get_bridge_handle(pbus);
Patches currently in stable-queue which might be from [email protected] are
queue-3.19/pci-spear-drop-__initdata-from-spear13xx_pcie_driver.patch
queue-3.19/pci-cpcihp-add-missing-curly-braces-in-cpci_configure_slot.patch
queue-3.19/pci-don-t-look-for-acpi-hotplug-parameters-if-acpi-is-disabled.patch
queue-3.19/pci-aer-avoid-info-leak-in-__print_tlp_header.patch
queue-3.19/revert-sparc-pci-clip-bridge-windows-to-fit-in-upstream-windows.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html