summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/scsi_scan.c
diff options
context:
space:
mode:
authorArjan van de Ven <arjan@linux.intel.com>2009-01-04 05:32:28 -0800
committerArjan van de Ven <arjan@linux.intel.com>2009-01-07 08:46:13 -0800
commit4ace92fc112c6069b4fcb95a31d3142d4a43ff2a (patch)
treedacd01f3f249f30868d239ae32b899962f9008cf /drivers/scsi/scsi_scan.c
parent22a9d645677feefd402befd02edd59b122289ef1 (diff)
downloadlinux-4ace92fc112c6069b4fcb95a31d3142d4a43ff2a.tar.gz
linux-4ace92fc112c6069b4fcb95a31d3142d4a43ff2a.tar.bz2
linux-4ace92fc112c6069b4fcb95a31d3142d4a43ff2a.zip
fastboot: make scsi probes asynchronous
This patch makes part of the scsi probe (which is mostly device spin up and the partition scan) asynchronous. Only the part that runs after getting the device number allocated is asynchronous, ensuring that device numbering remains stable. Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Diffstat (limited to 'drivers/scsi/scsi_scan.c')
-rw-r--r--drivers/scsi/scsi_scan.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c
index 18486b51668d..17914a346f71 100644
--- a/drivers/scsi/scsi_scan.c
+++ b/drivers/scsi/scsi_scan.c
@@ -32,6 +32,7 @@
#include <linux/delay.h>
#include <linux/kthread.h>
#include <linux/spinlock.h>
+#include <linux/async.h>
#include <scsi/scsi.h>
#include <scsi/scsi_cmnd.h>
@@ -179,6 +180,8 @@ int scsi_complete_async_scans(void)
spin_unlock(&async_scan_lock);
kfree(data);
+ /* Synchronize async operations globally */
+ async_synchronize_full();
return 0;
}