On Sat, 28 Nov 2020, Finn Thain wrote: > > diff --git a/drivers/scsi/NCR5380.c b/drivers/scsi/NCR5380.c > index d654a6cc4162..739def70cffb 100644 > --- a/drivers/scsi/NCR5380.c > +++ b/drivers/scsi/NCR5380.c > @@ -223,7 +223,10 @@ static int NCR5380_poll_politely2(struct NCR5380_hostdata *hostdata, > cpu_relax(); > } while (n--); > > - if (irqs_disabled() || in_interrupt()) > + /* We can't sleep when local irqs are disabled and callers ensure > + * that local irqs are disabled whenever we can't sleep. > + */ > + if (irqs_disabled()) > return -ETIMEDOUT; > > /* Repeatedly sleep for 1 ms until deadline */ > Michael, Andreas, would you please confirm that this is workable on Atari? The driver could sleep when IPL == 2 because arch_irqs_disabled_flags() would return false (on Atari). I'm wondering whether that would deadlock.