On Fri, 2017-12-01 at 09:45 +0100, Johannes Thumshirn wrote: > Bart Van Assche <bart.vanassche@xxxxxxx> writes: > [...] > > > + if (shost_state != shost->shost_state) { > > + spin_unlock_irqrestore(shost->host_lock, flags); > > + synchronize_rcu(); > > + spin_lock_irqsave(shost->host_lock, flags); > > + } > > Plese correct me if I'm wrong, but once you drop the host lock all > assumptions about states it protects are void, aren't they? Hello Johannes, That's a good question. I think it is safe to drop the host lock at that point because waking up the error handler thread will only happen after host_failed has been incremented. Bart.