diff options
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 | ||