Jelajahi Sumber

scsi: ufs-qcom: fix bug with read/modify write of UFS_CFG1

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.

Reviewed-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Subhash Jadavani 8 tahun lalu
induk
melakukan
b84ca6e9c7
1 mengubah file dengan 2 tambahan dan 1 penghapusan
  1. 2 1
      drivers/scsi/ufs/ufs-qcom.c

+ 2 - 1
drivers/scsi/ufs/ufs-qcom.c

@@ -1470,7 +1470,8 @@ static void ufs_qcom_print_hw_debug_reg_all(struct ufs_hba *hba,
 	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);