[118] in linux-scsi channel archive

home help back first fref pref prev next nref lref last post

BusLogic testing

daemon@ATHENA.MIT.EDU (Leonard N. Zubkoff)
Mon Mar 27 01:55:13 1995

Date: Sat, 25 Mar 1995 10:08:30 -0800
From: "Leonard N. Zubkoff" <lnz@dandelion.com>
To: linux-scsi@vger.rutgers.edu

As people may recall, I was having some problems with the BusLogic 946C PCI
controller losing interrupts, as in:

Mar 18 10:16:12 kelewan kernel: scsi : aborting command due to timeout : pid 402607, scsi0, id 1, lun 0 Write (10) 00 00 28 0f ac 00 00 02 00 
Mar 18 10:16:12 kelewan kernel: BusLogic SCSI: buslogic_abort: 10 81
Mar 18 10:16:12 kelewan kernel: BusLogic SCSI: buslogic_abort: lost interrupt discovered on irq 11 - attempting to recover...

After some email discussion with BusLogic, it seems that while the existing
interrupt handler did nothing overtly wrong, it is not a good idea to be
reading and resetting the Host Adapter Interrupt Register multiple times for
the same interrupt.  By tracing some events in the BusLogic interrupt handler,
I was able to determine that with the older 445S VLB card there was never more
than a single incoming mailbox ready anyway.  With the newer and faster 946C
and 956C however, the situation of multiple incoming mailboxes becoming ready
is much more likely to occur.

The upshot of all this is that I rewrote the interrupt handler Thursday night
and have been happily running since then without a single lost interrupt.  It
also seems that the current BusLogic driver is hindered by its heritage in
having been derived from the Adaptec driver; since I am rather committed to
BusLogic cards at this point, I am contemplating a complete rewrite of the
driver as I have time.

If anyone else would like to test this patch to the interrupt handler before I
submit it to Linus, please drop me a note.  I'd especially appreciate testing
from anyone who has seen a lost interrupt message as above.

		Leonard

home help back first fref pref prev next nref lref last post