diff options
author | Dan Williams <dan.j.williams@intel.com> | 2012-05-25 13:55:07 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-05-30 05:37:07 -0400 |
commit | 43a8d39d0137612c336aa8bbb2cb886a79772ffb (patch) | |
tree | 3e11f09edb70fd9dad771c452806524c63ff41dc /drivers/scsi/scsi_scan.c | |
parent | b83d543fd934d565fb243ef348b06a61d794b31d (diff) |
[SCSI] fix async probe regression
Commit a7a20d1 "[SCSI] sd: limit the scope of the async probe domain"
moved sd probe work out of reach of wait_for_device_probe(). Allow it
to be synced via scsi_complete_async_scans().
Reported-by: Meelis Roos <mroos@linux.ee>
Tested-by: Meelis Roos <mroos@linux.ee>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/scsi_scan.c')
-rw-r--r-- | drivers/scsi/scsi_scan.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c index 01b03744f1f9..2e5fe584aad3 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c | |||
@@ -147,7 +147,7 @@ int scsi_complete_async_scans(void) | |||
147 | 147 | ||
148 | do { | 148 | do { |
149 | if (list_empty(&scanning_hosts)) | 149 | if (list_empty(&scanning_hosts)) |
150 | return 0; | 150 | goto out; |
151 | /* If we can't get memory immediately, that's OK. Just | 151 | /* If we can't get memory immediately, that's OK. Just |
152 | * sleep a little. Even if we never get memory, the async | 152 | * sleep a little. Even if we never get memory, the async |
153 | * scans will finish eventually. | 153 | * scans will finish eventually. |
@@ -179,8 +179,11 @@ int scsi_complete_async_scans(void) | |||
179 | } | 179 | } |
180 | done: | 180 | done: |
181 | spin_unlock(&async_scan_lock); | 181 | spin_unlock(&async_scan_lock); |
182 | |||
183 | kfree(data); | 182 | kfree(data); |
183 | |||
184 | out: | ||
185 | async_synchronize_full_domain(&scsi_sd_probe_domain); | ||
186 | |||
184 | return 0; | 187 | return 0; |
185 | } | 188 | } |
186 | 189 | ||