diff options
| -rw-r--r-- | drivers/scsi/hosts.c | 4 | ||||
| -rw-r--r-- | drivers/scsi/scsi_sysfs.c | 4 | 
2 files changed, 8 insertions, 0 deletions
| diff --git a/drivers/scsi/hosts.c b/drivers/scsi/hosts.c index 554626e18062..09dbcb847b73 100644 --- a/drivers/scsi/hosts.c +++ b/drivers/scsi/hosts.c @@ -215,6 +215,8 @@ int scsi_add_host_with_dma(struct Scsi_Host *shost, struct device *dev,  		shost->shost_gendev.parent = dev ? dev : &platform_bus;  	shost->dma_dev = dma_dev; +	device_enable_async_suspend(&shost->shost_gendev); +  	error = device_add(&shost->shost_gendev);  	if (error)  		goto out; @@ -222,6 +224,8 @@ int scsi_add_host_with_dma(struct Scsi_Host *shost, struct device *dev,  	scsi_host_set_state(shost, SHOST_RUNNING);  	get_device(shost->shost_gendev.parent); +	device_enable_async_suspend(&shost->shost_dev); +  	error = device_add(&shost->shost_dev);  	if (error)  		goto out_del_gendev; diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c index 5a065055e68a..c5580805a359 100644 --- a/drivers/scsi/scsi_sysfs.c +++ b/drivers/scsi/scsi_sysfs.c @@ -847,6 +847,8 @@ static int scsi_target_add(struct scsi_target *starget)  	if (starget->state != STARGET_CREATED)  		return 0; +	device_enable_async_suspend(&starget->dev); +  	error = device_add(&starget->dev);  	if (error) {  		dev_err(&starget->dev, "target device_add failed, error %d\n", error); @@ -886,11 +888,13 @@ int scsi_sysfs_add_sdev(struct scsi_device *sdev)  		return error;  	transport_configure_device(&starget->dev); +	device_enable_async_suspend(&sdev->sdev_gendev);  	error = device_add(&sdev->sdev_gendev);  	if (error) {  		printk(KERN_INFO "error 1\n");  		goto out_remove;  	} +	device_enable_async_suspend(&sdev->sdev_dev);  	error = device_add(&sdev->sdev_dev);  	if (error) {  		printk(KERN_INFO "error 2\n"); | 
