]> git.karo-electronics.de Git - linux-beck.git/blobdiff - drivers/acpi/scan.c
Merge branch 'acpi-cleanup'
[linux-beck.git] / drivers / acpi / scan.c
index 62e2055e880664330f295610205b34fb342dd1ac..d5993e339a26d72885c1af9afb7e6673e4f38f58 100644 (file)
@@ -332,10 +332,12 @@ static void acpi_scan_bus_device_check(acpi_handle handle, u32 ost_source)
        mutex_lock(&acpi_scan_lock);
        lock_device_hotplug();
 
-       acpi_bus_get_device(handle, &device);
-       if (device) {
-               dev_warn(&device->dev, "Attempt to re-insert\n");
-               goto out;
+       if (ost_source != ACPI_NOTIFY_BUS_CHECK) {
+               acpi_bus_get_device(handle, &device);
+               if (device) {
+                       dev_warn(&device->dev, "Attempt to re-insert\n");
+                       goto out;
+               }
        }
        acpi_evaluate_hotplug_ost(handle, ost_source,
                                  ACPI_OST_SC_INSERT_IN_PROGRESS, NULL);
@@ -1918,6 +1920,9 @@ static acpi_status acpi_bus_device_attach(acpi_handle handle, u32 lvl_not_used,
        if (acpi_bus_get_device(handle, &device))
                return AE_CTRL_DEPTH;
 
+       if (device->handler)
+               return AE_OK;
+
        ret = acpi_scan_attach_handler(device);
        if (ret)
                return ret > 0 ? AE_OK : AE_CTRL_DEPTH;