Subject: SCSI Timeout panic: how to fix?
To: None <macbsd-general@NetBSD.ORG>
From: Ben Cottrell <benco@ucsee.EECS.Berkeley.EDU>
List: macbsd-general
Date: 02/21/1995 21:21:16
I'm getting an odd crash. I get this:
scsi timeout--WAIT_FOR_REQ---scsi.c, line 711.
and then the system hangs (no panic).

My kernel is compiled straight from the NetBSD-1.0 sources, except for
the changes to the scsi_done, sdstrategy, and sdstart routines suggested by on this list to fix the biodone already errors.

I experienced the SCSI timeout errors even on the netbsd.patched kernel
on cray-ymp.

Looking over the SCSI .c files and David's changes to them, I think
I see the reason... the WAIT_FOR_REQ macro gotos scsi_timeout_error,
which returns to the caller, and (I surmise--I haven't had time yet
to go over this with adb) the caller would have called biodone(),
but doesn't because David's if statement evaluates false.

I don't know much about either SCSI or the NetBSD kernel, and as it's
midterm exam season, I don't have the time to try and understand it...
does anyone know how to get rid of these? Should I try compiling with
-current? I gave -current a cursory glance, but couldn't get even
as far as the config step. Probably I was doing something really stupid;
I'll try again tomorrow with -current.

Thanks a lot!