[PATCH v1 1/3] scsi: ufs: fix empty check of error history

asutoshd at codeaurora.org asutoshd at codeaurora.org
Mon Jan 6 09:34:05 PST 2020


On 2020-01-04 06:26, Stanley Chu wrote:
> 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 at samsung.com>
> Cc: Asutosh Das <asutoshd at codeaurora.org>
> Cc: Avri Altman <avri.altman at wdc.com>
> Cc: Bart Van Assche <bvanassche at acm.org>
> Cc: Bean Huo <beanhuo at micron.com>
> Cc: Can Guo <cang at codeaurora.org>
> Cc: Matthias Brugger <matthias.bgg at gmail.com>
> Signed-off-by: Stanley Chu <stanley.chu at mediatek.com>
> ---
>  drivers/scsi/ufs/ufshcd.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
> index 1b97f2dc0b63..bae43da00bb6 100644
> --- a/drivers/scsi/ufs/ufshcd.c
> +++ b/drivers/scsi/ufs/ufshcd.c
> @@ -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]));

Looks good to me.

Reviewed by:- Asutosh Das <asutoshd at codeaurora.org>



More information about the linux-arm-kernel mailing list