diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index d365dc3fa9ce..2e837f20fb88 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -1014,7 +1014,8 @@ static int ufshcd_set_clk_freq(struct ufs_hba *hba, bool scale_up) list_for_each_entry(clki, head, list) { if (!IS_ERR_OR_NULL(clki->clk)) { if (scale_up && clki->max_freq) { - if (clki->curr_freq == clki->max_freq) + if ((clki->curr_freq == clki->max_freq) || + (!strcmp(clki->name, "core_clk_ice_hw_ctl"))) continue; ret = clk_set_rate(clki->clk, clki->max_freq); @@ -1032,7 +1033,8 @@ static int ufshcd_set_clk_freq(struct ufs_hba *hba, bool scale_up) clki->curr_freq = clki->max_freq; } else if (!scale_up && clki->min_freq) { - if (clki->curr_freq == clki->min_freq) + if ((clki->curr_freq == clki->min_freq) || + (!strcmp(clki->name, "core_clk_ice_hw_ctl"))) continue; ret = clk_set_rate(clki->clk, clki->min_freq); @@ -8316,7 +8318,8 @@ static int ufshcd_init_clocks(struct ufs_hba *hba) goto out; list_for_each_entry(clki, head, list) { - if (!clki->name) + if ((!clki->name) || + (!strcmp(clki->name, "core_clk_ice_hw_ctl"))) continue; clki->clk = devm_clk_get(dev, clki->name);