Hi Finn, On Fri, Dec 4, 2020 at 12:11 AM Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> wrote: > > --- a/drivers/scsi/g_NCR5380.c > > +++ b/drivers/scsi/g_NCR5380.c > > @@ -529,14 +529,14 @@ static inline int generic_NCR5380_precv(struct NCR5380_hostdata *hostdata, > > if (start == len - 128) { > > /* Ignore End of DMA interrupt for the final buffer */ > > if (NCR5380_poll_politely(hostdata, hostdata->c400_ctl_status, > > - CSR_HOST_BUF_NOT_RDY, 0, HZ / 64) < 0) > > + CSR_HOST_BUF_NOT_RDY, 0, 0) < 0) > > You've put your finger on a known problem with certain > NCR5380_poll_politely() call sites. That is, the nominal timeout, HZ / 64, > is meaningless because it is ignored in atomic context. So you may as well > specify 0 jiffies at these call sites. (There will be a 1 jiffy timeout > applied regardless.) Notwithstanding HZ / 64 breaks if HZ < 64. Possible values of HZ in the kernel: 24 32 48 64 100 128 200 250 256 300 500 1000 1024 1200 Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds