Thread (5 messages) 5 messages, 3 authors, 2021-09-22

RE: [PATCH v2] scsi: ufs: Unbreak the reset handler

From: Avri Altman <Avri.Altman@wdc.com>
Date: 2021-09-17 21:31:45

A command tag is passed as the second argument of the
__ufshcd_transfer_req_compl() call in ufshcd_eh_device_reset_handler()
instead of a bitmask. Fix this by passing a bitmask as argument instead of a
command tag.

Cc: Can Guo <redacted>
Fixes: a45f937110fa ("scsi: ufs: Optimize host lock on transfer requests
send/compl paths")
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Avri Altman <avri.altman@wdc.com>

Few nits below.
Thanks,
Avri
quoted hunk ↗ jump to hunk
---
 drivers/scsi/ufs/ufshcd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Changes compared to v1: fixed patch description.
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index
3841ab49f556..d1dc52c76847 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -6876,7 +6876,7 @@ static int ufshcd_eh_device_reset_handler(struct
scsi_cmnd *cmd)
                        err = ufshcd_clear_cmd(hba, pos);
                        if (err)
                                break;
-                       __ufshcd_transfer_req_compl(hba, pos,
/*retry_requests=*/true);
+                       __ufshcd_transfer_req_compl(hba, 1U << pos,
+ false);
1) Maybe a word in the commit log about changing retry_requests from true to false.
2) Also while at it, maybe change u32 pos to u8 tag?
3) Add an unsigned long pending_reqs, add the tag inside the loop,
 And call __ufshcd_transfer_req_compl(hba, pending_reqs, false) one time outside the loop.

Thanks,
Avri
                }
        }
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help