Re: SMP Vers 2.1.84 DEATH

Doug Ledford (dledford@dialnet.net)
Thu, 5 Feb 1998 16:05:21 -0600


[ message snipped ]

Hmmm...this looks pretty obvious to me. The SCSI driver dies on the
first command completion because the function old_scsi_done() is being
called from an interrupt handler (almost, if not all SCSI drivers using
the old semantics do this very thing). The new scsi_done() function is
suppossed to queue up the commands and complete them outside of the
interrupt handler. I think there has been some confusion about exactly
how this is being done in the old_scsi_done() function. It appears to be
trying to sleep/schedule during completion much like the new function
does, but it can't. That, or the old_scsi_done() routine is making calls
into helper functions that it shouldn't be :)

--------------------------------------
Doug Ledford <dledford@dialnet.net>
Opinions expressed are my own, but
they should be everybody's.
--------------------------------------

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