Re: pas16 SCSI driver hangs at boot

Alan Cox (alan@lxorguk.ukuu.org.uk)
Tue, 1 Sep 1998 14:53:31 +0100 (BST)


> scan of the PAS16 SCSI driver. The machine hangs with interrupts
> disabled. The following sti() seems to cure the problem, but I'm not
> sure if this is a proper solution. Perhaps someone more familiar with
> the code can take a look at this?

Yes. Thats reasonable at least for uniprocessors.

> --- linux/drivers/scsi/NCR5380.c.orig Sun Jun 21 15:14:03 1998
> +++ linux/drivers/scsi/NCR5380.c Tue Sep 1 00:28:14 1998
> @@ -1825,6 +1825,7 @@
> hostdata->selecting = 0; /* clear this pointer, because we passed the
> waiting period */
> #else
> + sti();
> while ((jiffies < timeout) && !(NCR5380_read(STATUS_REG) &
> (SR_BSY | SR_IO)));
> #endif

The problem is that with interrupts off as they are when this is called
the timeout will never occur as jiffies is not incrementing. The Mac 53C80
driver has the same fix in it (note macs arent SMP either)

Alan

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html