> > > > > +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 >