[65] in linux-scsi channel archive
Adaptec 1542CF
daemon@ATHENA.MIT.EDU (Nick Kralevich)
Sun Feb 5 07:24:41 1995
Date: Sun, 5 Feb 1995 03:42:14 -0800 (PST)
From: Nick Kralevich <nickkral@po.EECS.Berkeley.EDU>
To: linux-scsi@vger.rutgers.edu
I'm having problems with my Adaptec 1542CF SCSI controller card.
I believe it is a bug in the driver, or in the SCSI code,
and I'm trying to find that bug.
I am currently using 1.1.81, which is rock solid stable on my
computer. I upgraded to 1.1.88, and was quickly able to generate
several "aha1542.c: Interrupt received, but no mail." messsages.
I did this by accessing multiple drives at one time, reading
from one drive and writing to the other.
Right now I am in the process of going through all the kernel versions
from 1.1.81 to 1.1.88, and trying to see when the code broke.
So here are my questions:
1) In patch82, the following code was written:
----- Begin -----
/* A "high" level interrupt handler */
-static void aha1542_intr_handle(int foo)
+static void aha1542_intr_handle(int irq, struct pt_regs *regs)
{
void (*my_done)(Scsi_Cmnd *) = NULL;
int errstatus, mbi, mbo, mbistatus;
@@ -353,16 +353,12 @@
unsigned int flags;
struct Scsi_Host * shost;
Scsi_Cmnd * SCtmp;
- int irqno, * irqp, flag;
+ int flag;
int needs_restart;
struct mailbox * mb;
struct ccb *ccb;
- irqp = (int *) foo;
- irqp -= 2; /* Magic - this is only required for slow interrupt
handlers */- irqno = *irqp;
-
- shost = aha_host[irqno - 9];
+ shost = aha_host[irq - 9];
if(!shost) panic("Splunge!");
----- End -----
I am particularly interested in the "irqp -= 2" line, required for
slow interrupt handlers. Why was this line removed? What was
the original reason for decrementing the pointer by two in the
first place?
I believe that part of my problem is because I have an older SCSI
drive, which may be slower than the modern drives. I also have
a slower computer. Should either of those be a factor in the problem?
Second question: What is the best/proper way to debug the AHA1542?
I uncommented the line in arch/i386/config.in that said:
bool 'SCSI debugging host adapter' CONFIG_SCSI_DEBUG n
Is that sufficient, or is there more I need to do?
Oh, by the way, I'm new to this list, so if this has already been
discussed, please forgive me.
Thanks,
-- Nick Kralevich
nickkral@cory.eecs.berkeley.edu