summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoranvithdosapati <anvithdosapati@google.com>2025-06-16 08:57:34 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-07-06 11:01:44 +0200
commit6a87e794046f5db667acc99c671781102b28931b (patch)
tree60e645488dcee849ac8ebd707c3ceb9e21b5305a
parent19a47c966deb36624843b7301f0373a3dc541a05 (diff)
scsi: ufs: core: Fix clk scaling to be conditional in reset and restore
commit 2e083cd802294693a5414e4557a183dd7e442e71 upstream. In ufshcd_host_reset_and_restore(), scale up clocks only when clock scaling is supported. Without this change CPU latency is voted for 0 (ufshcd_pm_qos_update) during resume unconditionally. Signed-off-by: anvithdosapati <anvithdosapati@google.com> Link: https://lore.kernel.org/r/20250616085734.2133581-1-anvithdosapati@google.com Fixes: a3cd5ec55f6c ("scsi: ufs: add load based scaling of UFS gear") Cc: stable@vger.kernel.org Reviewed-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/ufs/core/ufshcd.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c
index c5cef57e64ce..a6299cb19237 100644
--- a/drivers/ufs/core/ufshcd.c
+++ b/drivers/ufs/core/ufshcd.c
@@ -7743,7 +7743,8 @@ static int ufshcd_host_reset_and_restore(struct ufs_hba *hba)
hba->silence_err_logs = false;
/* scale up clocks to max frequency before full reinitialization */
- ufshcd_scale_clks(hba, ULONG_MAX, true);
+ if (ufshcd_is_clkscaling_supported(hba))
+ ufshcd_scale_clks(hba, ULONG_MAX, true);
err = ufshcd_hba_enable(hba);