diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-06-08 02:55:07 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-06-07 18:33:12 -0700 |
commit | ea7f665612fcc73da6b7698f468cd5fc03a30d47 (patch) | |
tree | 794cbc4d43b2682e2624410d8114e4a7f986046f /drivers | |
parent | e8193ce572f0ddb8004acf976bba119f0abbe6ca (diff) | |
download | linux-stable-ea7f665612fcc73da6b7698f468cd5fc03a30d47.tar.gz linux-stable-ea7f665612fcc73da6b7698f468cd5fc03a30d47.tar.bz2 linux-stable-ea7f665612fcc73da6b7698f468cd5fc03a30d47.zip |
Revert "ACPI / scan: do not match drivers against objects having scan handlers"
Commit 9f29ab11ddbf ("ACPI / scan: do not match drivers against objects
having scan handlers") introduced a boot regression on Tony's ia64 HP
rx2600. Tony says:
"It panics with the message:
Kernel panic - not syncing: Unable to find SBA IOMMU: Try a generic or DIG kernel
[...] my problem comes from arch/ia64/hp/common/sba_iommu.c
where the code in sba_init() says:
acpi_bus_register_driver(&acpi_sba_ioc_driver);
if (!ioc_list) {
but because of this change we never managed to call ioc_init()
so ioc_list doesn't get set up, and we die."
Revert it to avoid this breakage and we'll fix the problem it attempted
to address later.
Reported-by: Tony Luck <tony.luck@gmail.com>
Cc: 3.9+ <stable@vger.kernel.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/acpi/scan.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index 90c5759e1355..44225cb15f3a 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c @@ -740,10 +740,6 @@ static int acpi_bus_match(struct device *dev, struct device_driver *drv) struct acpi_device *acpi_dev = to_acpi_device(dev); struct acpi_driver *acpi_drv = to_acpi_driver(drv); - /* Skip ACPI device objects with scan handlers attached. */ - if (acpi_dev->handler) - return 0; - return acpi_dev->flags.match_driver && !acpi_match_device_ids(acpi_dev, acpi_drv->ids); } |