OSDN Git Service

scsi: ufs-qcom: fix bug with read/modify write of UFS_CFG1
authorSubhash Jadavani <subhashj@codeaurora.org>
Fri, 24 Jun 2016 20:08:34 +0000 (13:08 -0700)
committerKyle Yan <kyan@codeaurora.org>
Thu, 30 Jun 2016 23:49:31 +0000 (16:49 -0700)
ufs_qcom_print_hw_debug_reg_all() function is having a bug
where it might incorrectly modify undesired bits in UFS_CFG1 register,
this change fixes it.

Change-Id: I2605beeb41f3c319877f48e35723f597f7dfb9da
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
drivers/scsi/ufs/ufs-qcom.c

index 36fd682..60dc8b2 100644 (file)
@@ -2332,7 +2332,8 @@ void ufs_qcom_print_hw_debug_reg_all(struct ufs_hba *hba, void *priv,
        reg = ufs_qcom_get_debug_reg_offset(host, UFS_UFS_DBG_RD_PRDT_RAM);
        print_fn(hba, reg, 64, "UFS_UFS_DBG_RD_PRDT_RAM ", priv);
 
-       ufshcd_writel(hba, (reg & ~UFS_BIT(17)), REG_UFS_CFG1);
+       /* clear bit 17 - UTP_DBG_RAMS_EN */
+       ufshcd_rmwl(hba, UFS_BIT(17), 0, REG_UFS_CFG1);
 
        reg = ufs_qcom_get_debug_reg_offset(host, UFS_DBG_RD_REG_UAWM);
        print_fn(hba, reg, 4, "UFS_DBG_RD_REG_UAWM ", priv);