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 01b03744f1f..2e5fe584aad 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c @@ -147,7 +147,7 @@ int scsi_complete_async_scans(void)  	do {  		if (list_empty(&scanning_hosts)) -			return 0; +			goto out;  		/* If we can't get memory immediately, that's OK.  Just  		 * sleep a little.  Even if we never get memory, the async  		 * scans will finish eventually. @@ -179,8 +179,11 @@ int scsi_complete_async_scans(void)  	}   done:  	spin_unlock(&async_scan_lock); -  	kfree(data); + + out: +	async_synchronize_full_domain(&scsi_sd_probe_domain); +  	return 0;  }  |