summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/ufs/ufshcd.c16
1 files changed, 3 insertions, 13 deletions
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 014aee99fa44..325f66facfb1 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -1603,14 +1603,15 @@ static void ufshcd_exit_hibern8_on_idle(struct ufs_hba *hba)
#ifdef CONFIG_SMP
/* Host lock is assumed to be held by caller */
-static int __ufshcd_pm_qos_hold(struct ufs_hba *hba, bool async)
+static int ufshcd_pm_qos_hold(struct ufs_hba *hba, bool async)
{
int ret = 0;
unsigned long flags;
if (!hba->pm_qos.cpu_dma_latency_us)
- goto out;
+ return 0;
+ spin_lock_irqsave(hba->host->host_lock, flags);
hba->pm_qos.active_reqs++;
if (hba->pm_qos.is_suspended)
goto out;
@@ -1646,18 +1647,7 @@ start:
break;
}
out:
- return ret;
-}
-
-static int ufshcd_pm_qos_hold(struct ufs_hba *hba, bool async)
-{
- unsigned long flags;
- int ret;
-
- spin_lock_irqsave(hba->host->host_lock, flags);
- ret = __ufshcd_pm_qos_hold(hba, async);
spin_unlock_irqrestore(hba->host->host_lock, flags);
-
return ret;
}