diff options
| -rw-r--r-- | drivers/scsi/scsi_pm.c | 22 | 
1 files changed, 11 insertions, 11 deletions
| diff --git a/drivers/scsi/scsi_pm.c b/drivers/scsi/scsi_pm.c index 9e43ae1d2163..e4b799837948 100644 --- a/drivers/scsi/scsi_pm.c +++ b/drivers/scsi/scsi_pm.c @@ -217,15 +217,15 @@ static int sdev_runtime_suspend(struct device *dev)  {  	const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;  	struct scsi_device *sdev = to_scsi_device(dev); -	int err; +	int err = 0; -	err = blk_pre_runtime_suspend(sdev->request_queue); -	if (err) -		return err; -	if (pm && pm->runtime_suspend) +	if (pm && pm->runtime_suspend) { +		err = blk_pre_runtime_suspend(sdev->request_queue); +		if (err) +			return err;  		err = pm->runtime_suspend(dev); -	blk_post_runtime_suspend(sdev->request_queue, err); - +		blk_post_runtime_suspend(sdev->request_queue, err); +	}  	return err;  } @@ -248,11 +248,11 @@ static int sdev_runtime_resume(struct device *dev)  	const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;  	int err = 0; -	blk_pre_runtime_resume(sdev->request_queue); -	if (pm && pm->runtime_resume) +	if (pm && pm->runtime_resume) { +		blk_pre_runtime_resume(sdev->request_queue);  		err = pm->runtime_resume(dev); -	blk_post_runtime_resume(sdev->request_queue, err); - +		blk_post_runtime_resume(sdev->request_queue, err); +	}  	return err;  } | 
