Infinite loop at boot with cdrom using ide-scsi.c

Brent M. Smith (brent@calwestmu.com)
Mon, 26 Apr 1999 17:42:13 -0700


Hi, I just got a ATAPI writable cdrom, and have run into some problems
getting it to work. I've read the README.ATAPI file which comes with the
cdrecord distribution, and recompiled the kernel with the following options:

(I only included what I thought was revelant):

# Block devices

CONFIG_BLK_DEV_IDE=y
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_BLK_DEV_IDECD=m
CONFIG_BLK_DEV_IDESCSI=y

# SCSI support

CONFIG_SCSI=y
# CONFIG_BLK_DEV_SD is not set
# CONFIG_CHR_DEV_ST is not set
CONFIG_BLK_DEV_SR=y
# CONFIG_BLK_DEV_SR_VENDOR is not set
CONFIG_CHR_DEV_SG=y

=================================

NOTE: when I rebooted, I typed "hdc=ide-cd" and "hdd=ide-scsi" on the lilo
boot prompt. This is when the problem occurs. If I use "hdc=ide-cd"
and "hdd=ide-cd" then everything boots up properly. However, if I try
to mount a cdrom, then the process just sits there. I tried killing
it with "kill -9 <pid>", and eventually (after a minute or so), the
process exited with a "Killed" message. The drive does work in windows,
however I am unwilling to boot windows everytime I want to use the cdrom.

I compiled and rebooted the kernel, and it detected my first ATAPI cdrom
on hdc (not the offending cdrom), and detected the writable cdrom on hdd,
but right after the cdrom version was on the screen, I got a weird error
message, which kept repeating despite anything i tried to do. I tried
alt+sysrq+p, and still got the debugging messages, although I couldn't see
them because the message was scrolling past so fast. The message looked
like the following:

hda: Maxtor 82625 A6, ATA DISK drive
hdc: FX140S, ATAPI CDROM drive
hdd: RWD RW2224, ATAPI CDROM drive
ide-scsi: (IO,CoD) != (0,1) while issuing a packet command
hdd: ATAPI reset complete
ide-scsi: (IO,CoD) != (0,1) while issuing a packet command
hdd: ATAPI reset complete
ide-scsi: (IO,CoD) != (0,1) while issuing a packet command
hdd: ATAPI reset complete
...
...

Occasionally, it would print a diagnostic which I couldn't make out...
It had the words "channel" and "lun" in it somewhere.

The offending function looks like it's in the ide-scsi.c driver,
starting at line 405 in /usr/src/linux/drivers/scsi/ide-scsi.c:

if ((ireason & (IDESCSI_IREASON_IO | IDESCSI_IREASON_COD)) !=
IDESCSI_IREASON_COD) {
printk (KERN_ERR "ide-scsi: (IO,CoD) != (0,1) while issuing a
packet command\n");
ide_do_reset (drive);
return;
}

Now, I'm not sure exactly what's going on here, and that's why I'm appealing
to this list. Does the drive itself have a firmware bug, or is it simply
unsupported? I have it hooked up as the secondary slave in my ide
configuration, so would that make any difference? Should I take the time to
try it as the master? Did I forgot to compile something into the kernel?

I'm completely baffled as to why this is happening... Especially the infinite
loop of messages from the kernel...

Thank you in advance for your time.

-- 
    Brent M. Smith, <brent@calwestmu.com>

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/