> > 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 <cang@xxxxxxxxxxxxxx> > Fixes: a45f937110fa ("scsi: ufs: Optimize host lock on transfer requests > send/compl paths") > Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx> Reviewed-by: Avri Altman <avri.altman@xxxxxxx> Few nits below. Thanks, Avri > --- > 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 > } > }