From 576fd3829bf9244536b95a958a2ac5778d91e92a Mon Sep 17 00:00:00 2001 From: Subhash Jadavani Date: Tue, 18 Apr 2017 11:06:22 -0700 Subject: [PATCH] scsi: ufs: fix issue with scaling up gear Commit ("scsi: ufs: scale up the gear in 2 steps") introduced a bug where we would not scale up the gear to HS-G3 if UFS_DEVICE_QUIRK_HS_G1_TO_HS_G3_SWITCH quirk isn't enabled for UFS device. Fix this by allowing HS-G3 scaling irrespective of quirk state. Change-Id: Id6a958fb2908ae773283bcdd3dc871292e56f4ce Signed-off-by: Subhash Jadavani --- drivers/scsi/ufs/ufshcd.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index 79bb3337ba36..c5393d517432 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -9238,10 +9238,11 @@ static int ufshcd_scale_gear(struct ufs_hba *hba, bool scale_up) /* scale up to G3 now */ new_pwr_info.gear_tx = UFS_HS_G3; new_pwr_info.gear_rx = UFS_HS_G3; - ret = ufshcd_change_power_mode(hba, &new_pwr_info); - if (ret) - goto out; + /* now, fall through to set the HS-G3 */ } + ret = ufshcd_change_power_mode(hba, &new_pwr_info); + if (ret) + goto out; } else { memcpy(&new_pwr_info, &hba->pwr_info, sizeof(struct ufs_pa_layer_attr));