mirror of
https://github.com/torvalds/linux.git
synced 2026-02-04 15:28:49 +08:00
scsi: ufs: fix empty check of error history
Currently checking if an error history element is empty or not is by its "value". In most cases, value is error code. However this checking is not correct because some errors or events do not specify any values in error history so values remain as 0, and this will lead to incorrect empty checking. Fix it by checking "timestamp" instead of "value" because timestamp will be always assigned for all history elements Cc: Alim Akhtar <alim.akhtar@samsung.com> Cc: Asutosh Das <asutoshd@codeaurora.org> Cc: Avri Altman <avri.altman@wdc.com> Cc: Bart Van Assche <bvanassche@acm.org> Cc: Bean Huo <beanhuo@micron.com> Cc: Can Guo <cang@codeaurora.org> Cc: Matthias Brugger <matthias.bgg@gmail.com> Link: https://lore.kernel.org/r/1578147968-30938-2-git-send-email-stanley.chu@mediatek.com Reviewed-by: Bean Huo <beanhuo@micron.com> Signed-off-by: Stanley Chu <stanley.chu@mediatek.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
committed by
Martin K. Petersen
parent
fdb827e4a3
commit
645728a644
@@ -385,7 +385,7 @@ static void ufshcd_print_err_hist(struct ufs_hba *hba,
|
||||
for (i = 0; i < UFS_ERR_REG_HIST_LENGTH; i++) {
|
||||
int p = (i + err_hist->pos) % UFS_ERR_REG_HIST_LENGTH;
|
||||
|
||||
if (err_hist->reg[p] == 0)
|
||||
if (err_hist->tstamp[p] == 0)
|
||||
continue;
|
||||
dev_err(hba->dev, "%s[%d] = 0x%x at %lld us\n", err_name, p,
|
||||
err_hist->reg[p], ktime_to_us(err_hist->tstamp[p]));
|
||||
|
||||
Reference in New Issue
Block a user