Re: Linux-1.3.66 - scsi.c breaks

Leonard N. Zubkoff (lnz@dandelion.com)
Sun, 18 Feb 1996 14:00:18 -0800


Date: Sun, 18 Feb 1996 11:10:30 -0700 (MST)
From: James MacKinnon <jmack@phys.ualberta.ca>

A change to scsi.c in 1.3.66 (perhaps in 1.3.65) broke the scsi scan pass,
generating the following on boot (logging to /usr/adm/messages
got screwed up as well in the process). Things were ok in 1.3.64.

Hard media disks get marked as unknown type 31,
and the MULTI-LUN pass goes through all phases on each
disk target.

<sigh> That one was my fault. The problem I was correcting was that the Yamaha
CDR100 CD Recorder was not being recognized on boot.

Linus: Please back out of this patch, and I'll go investigate a better one that
handles the multi_lun case properly as well.

Leonard

The change in scsi.c that created this problem was:

/devel/src>diff -u linux-1.3.64/drivers/scsi/scsi.c linux-1.3.66/drivers/scsi/scsi.c-1.3.66
--- linux-1.3.64/drivers/scsi/scsi.c Tue Feb 6 23:55:39 1996
+++ linux-1.3.66/drivers/scsi/scsi.c-1.3.66 Sun Feb 18 10:21:29 1996
@@ -563,7 +563,8 @@
(status_byte (SCpnt->result) & CHECK_CONDITION)) &&
((SCpnt->sense_buffer[0] & 0x70) >> 4) == 7) {
if (((SCpnt->sense_buffer[2] & 0xf) != NOT_READY) &&
- ((SCpnt->sense_buffer[2] & 0xf) != UNIT_ATTENTION))
+ ((SCpnt->sense_buffer[2] & 0xf) != UNIT_ATTENTION) &&
+ ((SCpnt->sense_buffer[2] & 0xf) != ILLEGAL_REQUEST))
return 1;
}