RE: [PATCH v3] scsi: ufs: Cleanup completed request without interrupt notification

From: Avri Altman
Date: Tue Jul 14 2020 - 05:29:56 EST


> > > > > +cleanup:
> > > > > + spin_lock_irqsave(host->host_lock, flags);
> > > > > + if (!test_bit(tag, &hba->outstanding_reqs)) {
> > Is this needed? it was already checked in line 6439.
> >
>
> I am worried about the case that interrupt comes very lately.
scsi timeout is 30sec - do you expect an interrupt to arrive after that?

Thanks,
Avri

>For
> example, if interrupt finally comes while ufshcd_abort() is handling
> this command, then probably this command may be completed first by
> interrupt handler. In this case, ufshcd_abort() shall not clear this
> command again. In contrast, if ufshcd_abort() clears this command first,
> then interrupt shall not complete it. Thus here checking
> hba->outstanding_req with host lock held is required to prevent above
> racing.
>
> Thanks,
> Stanley Chu
>