]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
scsi: ufs: core: Fix clk scaling to be conditional in reset and restore
authoranvithdosapati <anvithdosapati@google.com>
Mon, 16 Jun 2025 08:57:34 +0000 (08:57 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Jul 2025 14:03:14 +0000 (16:03 +0200)
[ Upstream commit 2e083cd802294693a5414e4557a183dd7e442e71 ]

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: Sasha Levin <sashal@kernel.org>
drivers/ufs/core/ufshcd.c

index fa86942efd11f9b8cfb937ce795e02798d1f469b..da20bd3d46bc787ee05910b6bec9b6fad46d20b9 100644 (file)
@@ -7780,7 +7780,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);