Hi Finn,
On Fri, Dec 4, 2020 at 12:11 AM Finn Thain <[email protected]> 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 -- [email protected]
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