| From ea7f665612fcc73da6b7698f468cd5fc03a30d47 Mon Sep 17 00:00:00 2001 |
| From: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com> |
| Date: Sat, 8 Jun 2013 02:55:07 +0200 |
| Subject: Revert "ACPI / scan: do not match drivers against objects having scan handlers" |
| |
| From: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com> |
| |
| commit ea7f665612fcc73da6b7698f468cd5fc03a30d47 upstream. |
| |
| 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> |
| Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/acpi/scan.c | 4 ---- |
| 1 file changed, 4 deletions(-) |
| |
| --- a/drivers/acpi/scan.c |
| +++ b/drivers/acpi/scan.c |
| @@ -553,10 +553,6 @@ static int acpi_bus_match(struct device |
| 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); |
| } |