pre-patch-2.1.102-1: Breaks the Future Domain SCSI driver.

SEILER Werner - BD3 (werner.seiler@aut.alcatel.at)
Thu, 14 May 1998 09:14:03 +0200


This kernel with the fdomain driver compiled in does not boot on my UP
system.
I have a Future Domain 1670 SCSI controller and both SCSI and IDE disks.

In this patch (pre 2.1.102-1) Linus removed (commented out) an sti()
call from
within the driver's interrupt handler (in drivers/scsi/fdomain.c).

But as this driver uses busy-wait loops for timing using jiffies ticks,
it hangs there
waiting for jiffies to increment, which won't happen as interrupts are
disabled at this
point.

Just for fun I replaced the busy wait relying on jiffies to a busy wait
using the TSC.
This worked and I was no longer able to dead-lock the system with
simultaneous IDE/SCSI activity. With 2.1.101 I was able to dead-lock my
system
at will.

Conclusions:
- Linus' patch is correct but caused weaknesses in the fdomain driver to
surface.
- My personal workaround to the IDE/SCSI dead-lock was to compile the
kernels without SMP.
This is no longer possible (I believe, have not tested).

Unfortunately I don't know enough about device drivers in general and
the Future Domain
driver in particular to be able to propose quickly a clean solution.

Werner

------------------------------------------------------------------------
------
Werner M. Seiler Alcatel Austria AG
Tel: +43 1 29121 275 A-1210 Ruthnergasse 1-7, Vienna,
Austria
Fax: +43 1 2921452 Werner.Seiler@aut.alcatel.at

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu