lkml.org 
[lkml]   [2021]   [Sep]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PATCH 0/2] Fix UFS task management command timeout
Date
> On UTP_TASK_REQ_COMPL interrupt, ufshcd_tmc_handler() iterates through
> busy requests in tags->rqs and complete request if corresponding
> doorbell flag is reset.
> However, ufshcd_issue_tm_cmd() allocates requests from tags->static_rqs
> and trigger doorbell directly without dispatching request through block
> layer, thus requests can never be found in tags->rqs and completed
> properly. Any TM command issued by ufshcd_issue_tm_cmd() inevitably
> timeout and further leads to recovery flow failure when LU Reset or
> Abort Task is issued.
>
> In this patch, blk_mq_tagset_busy_iter() call in ufshcd_tmc_handler()
> is replaced with new interface, blk_mq_drv_tagset_busy_iter(), to
> allow completion of request allocted by driver. The new interface is
> introduced for driver to iterate through requests in static_rqs.
Is this the same issue that was addressed here - https://www.spinics.net/lists/linux-scsi/msg164520.html ?

Thanks,
Avri

>
> Po-Wen Kao (2):
> blk-mq: new busy request iterator for driver
> scsi: ufs: fix TM request timeout
>
> block/blk-mq-tag.c | 36 ++++++++++++++++++++++++++++++------
> drivers/scsi/ufs/ufshcd.c | 2 +-
> include/linux/blk-mq.h | 4 ++++
> 3 files changed, 35 insertions(+), 7 deletions(-)
>
> --
> 2.18.0

\
 
 \ /
  Last update: 2021-09-29 09:40    [W:0.059 / U:0.748 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site