Commit 27752647 authored by Stanley Chu's avatar Stanley Chu Committed by Martin K. Petersen

scsi: ufs: Print uic error history in time order

uic errors are currently printed out of time order.

Make things more readable by printing logs in time order, and printing
"No record" if history is empty.
Signed-off-by: default avatarStanley Chu <stanley.chu@mediatek.com>
Reviewed-by: default avatarAvri Altman <avri.altman@wdc.com>
Reviewed-by: default avatarBean Huo <beanhuo@micron.com>
Tested-by: default avatarBean Huo <beanhuo@micron.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 47eefded
...@@ -393,15 +393,20 @@ static void ufshcd_print_uic_err_hist(struct ufs_hba *hba, ...@@ -393,15 +393,20 @@ static void ufshcd_print_uic_err_hist(struct ufs_hba *hba,
struct ufs_uic_err_reg_hist *err_hist, char *err_name) struct ufs_uic_err_reg_hist *err_hist, char *err_name)
{ {
int i; int i;
bool found = false;
for (i = 0; i < UIC_ERR_REG_HIST_LENGTH; i++) { for (i = 0; i < UIC_ERR_REG_HIST_LENGTH; i++) {
int p = (i + err_hist->pos - 1) % UIC_ERR_REG_HIST_LENGTH; int p = (i + err_hist->pos) % UIC_ERR_REG_HIST_LENGTH;
if (err_hist->reg[p] == 0) if (err_hist->reg[p] == 0)
continue; continue;
dev_err(hba->dev, "%s[%d] = 0x%x at %lld us\n", err_name, i, dev_err(hba->dev, "%s[%d] = 0x%x at %lld us\n", err_name, i,
err_hist->reg[p], ktime_to_us(err_hist->tstamp[p])); err_hist->reg[p], ktime_to_us(err_hist->tstamp[p]));
found = true;
} }
if (!found)
dev_err(hba->dev, "No record of %s uic errors\n", err_name);
} }
static void ufshcd_print_host_regs(struct ufs_hba *hba) static void ufshcd_print_host_regs(struct ufs_hba *hba)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment