diff options
Diffstat (limited to 'drivers/base/dd.c')
-rw-r--r-- | drivers/base/dd.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/base/dd.c b/drivers/base/dd.c index 1b1cbb571d38..4b01ab3d2c24 100644 --- a/drivers/base/dd.c +++ b/drivers/base/dd.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <linux/wait.h> | 24 | #include <linux/wait.h> |
25 | #include <linux/async.h> | 25 | #include <linux/async.h> |
26 | #include <linux/pm_runtime.h> | 26 | #include <linux/pm_runtime.h> |
27 | #include <scsi/scsi_scan.h> | ||
27 | 28 | ||
28 | #include "base.h" | 29 | #include "base.h" |
29 | #include "power/power.h" | 30 | #include "power/power.h" |
@@ -100,7 +101,7 @@ static void driver_deferred_probe_add(struct device *dev) | |||
100 | mutex_lock(&deferred_probe_mutex); | 101 | mutex_lock(&deferred_probe_mutex); |
101 | if (list_empty(&dev->p->deferred_probe)) { | 102 | if (list_empty(&dev->p->deferred_probe)) { |
102 | dev_dbg(dev, "Added to deferred list\n"); | 103 | dev_dbg(dev, "Added to deferred list\n"); |
103 | list_add(&dev->p->deferred_probe, &deferred_probe_pending_list); | 104 | list_add_tail(&dev->p->deferred_probe, &deferred_probe_pending_list); |
104 | } | 105 | } |
105 | mutex_unlock(&deferred_probe_mutex); | 106 | mutex_unlock(&deferred_probe_mutex); |
106 | } | 107 | } |
@@ -332,6 +333,7 @@ void wait_for_device_probe(void) | |||
332 | /* wait for the known devices to complete their probing */ | 333 | /* wait for the known devices to complete their probing */ |
333 | wait_event(probe_waitqueue, atomic_read(&probe_count) == 0); | 334 | wait_event(probe_waitqueue, atomic_read(&probe_count) == 0); |
334 | async_synchronize_full(); | 335 | async_synchronize_full(); |
336 | scsi_complete_async_scans(); | ||
335 | } | 337 | } |
336 | EXPORT_SYMBOL_GPL(wait_for_device_probe); | 338 | EXPORT_SYMBOL_GPL(wait_for_device_probe); |
337 | 339 | ||