diff options
Diffstat (limited to 'drivers/scsi/libsas/sas_expander.c')
| -rw-r--r-- | drivers/scsi/libsas/sas_expander.c | 3 | 
1 files changed, 3 insertions, 0 deletions
| diff --git a/drivers/scsi/libsas/sas_expander.c b/drivers/scsi/libsas/sas_expander.c index c2150a818423..6abce9dfc17b 100644 --- a/drivers/scsi/libsas/sas_expander.c +++ b/drivers/scsi/libsas/sas_expander.c @@ -58,7 +58,9 @@ static int smp_execute_task_sg(struct domain_device *dev,  	struct sas_task *task = NULL;  	struct sas_internal *i =  		to_sas_internal(dev->port->ha->core.shost->transportt); +	struct sas_ha_struct *ha = dev->port->ha; +	pm_runtime_get_sync(ha->dev);  	mutex_lock(&dev->ex_dev.cmd_mutex);  	for (retry = 0; retry < 3; retry++) {  		if (test_bit(SAS_DEV_GONE, &dev->state)) { @@ -131,6 +133,7 @@ static int smp_execute_task_sg(struct domain_device *dev,  		}  	}  	mutex_unlock(&dev->ex_dev.cmd_mutex); +	pm_runtime_put_sync(ha->dev);  	BUG_ON(retry == 3 && task != NULL);  	sas_free_task(task); |