提交 ef600310 编写于 作者: K Kiwoong Kim 提交者: Martin K. Petersen

scsi: ufs: core: Exclude UECxx from SFR dump list

Some devices may return invalid or zeroed data during an UIC error
condition. In addition, reading these SFRs will clear them. This means the
subsequent error handling will not be able to see them and therefore no
error handling will be scheduled.

Skip reading these SFRs in ufshcd_dump_regs().

Link: https://lore.kernel.org/r/1648689845-33521-1-git-send-email-kwmad.kim@samsung.com
Fixes: d6724756 ("scsi: ufs: Use explicit access size in ufshcd_dump_regs")
Signed-off-by: NKiwoong Kim <kwmad.kim@samsung.com>
Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
上级 973dac8a
...@@ -122,8 +122,13 @@ int ufshcd_dump_regs(struct ufs_hba *hba, size_t offset, size_t len, ...@@ -122,8 +122,13 @@ int ufshcd_dump_regs(struct ufs_hba *hba, size_t offset, size_t len,
if (!regs) if (!regs)
return -ENOMEM; return -ENOMEM;
for (pos = 0; pos < len; pos += 4) for (pos = 0; pos < len; pos += 4) {
if (offset == 0 &&
pos >= REG_UIC_ERROR_CODE_PHY_ADAPTER_LAYER &&
pos <= REG_UIC_ERROR_CODE_DME)
continue;
regs[pos / 4] = ufshcd_readl(hba, offset + pos); regs[pos / 4] = ufshcd_readl(hba, offset + pos);
}
ufshcd_hex_dump(prefix, regs, len); ufshcd_hex_dump(prefix, regs, len);
kfree(regs); kfree(regs);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册