diff options
| -rw-r--r-- | drivers/scsi/ufs/ufs-qcom.c | 4 | ||||
| -rw-r--r-- | drivers/scsi/ufs/ufs_quirks.h | 1 | ||||
| -rw-r--r-- | drivers/scsi/ufs/ufshcd.c | 2 |
3 files changed, 5 insertions, 2 deletions
diff --git a/drivers/scsi/ufs/ufs-qcom.c b/drivers/scsi/ufs/ufs-qcom.c index 3b731b5e4c27..a01e6fab6201 100644 --- a/drivers/scsi/ufs/ufs-qcom.c +++ b/drivers/scsi/ufs/ufs-qcom.c @@ -1260,9 +1260,9 @@ static void ufs_qcom_dev_ref_clk_ctrl(struct ufs_qcom_host *host, bool enable) if (enable) { if (host->hba->dev_info.quirks & UFS_DEVICE_QUIRK_WAIT_AFTER_REF_CLK_UNGATE) - usleep_range(50, 60); + usleep_range(960, 970); else - udelay(1); + usleep_range(200, 210); } host->is_dev_ref_clk_enabled = enable; diff --git a/drivers/scsi/ufs/ufs_quirks.h b/drivers/scsi/ufs/ufs_quirks.h index 5dbdf858953b..d41d9c567810 100644 --- a/drivers/scsi/ufs/ufs_quirks.h +++ b/drivers/scsi/ufs/ufs_quirks.h @@ -25,6 +25,7 @@ #define UFS_VENDOR_SAMSUNG 0x1CE #define UFS_VENDOR_SKHYNIX 0x1AD #define UFS_VENDOR_WDC 0x145 +#define UFS_VENDOR_SANDISK 0x0145 /** * ufs_dev_fix - ufs device quirk info diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index 6edc3e6284dc..99c41616e432 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -428,6 +428,8 @@ static struct ufs_dev_fix ufs_fixups[] = { UFS_DEVICE_QUIRK_HOST_PA_SAVECONFIGTIME), UFS_FIX(UFS_VENDOR_SKHYNIX, UFS_ANY_MODEL, UFS_DEVICE_QUIRK_WAIT_AFTER_REF_CLK_UNGATE), + UFS_FIX(UFS_VENDOR_SANDISK, UFS_ANY_MODEL, + UFS_DEVICE_QUIRK_WAIT_AFTER_REF_CLK_UNGATE), UFS_FIX(UFS_VENDOR_SKHYNIX, "hB8aL1", UFS_DEVICE_QUIRK_HS_G1_TO_HS_G3_SWITCH), UFS_FIX(UFS_VENDOR_SKHYNIX, "hC8aL1", |
