Problem with IDE harddrive and ATA FLASH on the same IDE channel

Corey Minyard (minyard@acm.org)
Thu, 10 Jan 2002 13:04:40 -0600


I am working on a board that has both an IDE drive and an ATA flash on
the same IDE channel. If I use them independently, they work fine. If
I try to use them together (say, copy files from one to the other) I get
lost interrupts, spurrious interrupts, etc. Can you have a HDD and
FLASH on the same IDE channel? This is on a Serverworks OSB4, I've
tried various kernels. One wierd thing, if I compile the Redhat 7.2
kernel with Redhat's compile, it does seem to work. If I compile it
with a 2.95.3 compiler (on SuSE) it doesn't work. I've tried playing
with timing, with and without DMA, etc.

Any ideas on this or how to debug this?

Thanks,

-Corey

heres the kernel output on the error:

hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hdb: drive not ready for command
ide0: unexpected interrupt, status=0x58, count=1
hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hdb: drive not ready for command
hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hdb: drive not ready for command
hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hdb: drive not ready for command
ide0: reset: success
hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hdb: drive not ready for command
hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hdb: drive not ready for command
hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hdb: drive not ready for command
hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hdb: drive not ready for command
ide0: reset: success
hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }
end_request: I/O error, dev 03:41 (hdb), sector 32780
hdb: drive not ready for command
EXT2-fs error (device ide0(3,65)): ext2_write_inode: unable to read
inode block
- inode=3945, block=16390
hdb: lost interrupt
hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hdb: drive not ready for command
hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hdb: drive not ready for command
hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hdb: drive not ready for command
hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hdb: drive not ready for command
ide0: unexpected interrupt, status=0x58, count=5
ide0: reset: master: error (0x80?); slave: failed
hda: status timeout: status=0x80 { Busy }
hda: drive not ready for command
ide0: reset: success
hdb: lost interrupt
hdb: lost interrupt
hdb: lost interrupt
hdb: lost interrupt
hdb: lost interrupt
hdb: lost interrupt
end_request: I/O error, dev 03:41 (hdb), sector 32780
hdb: drive not ready for command
EXT2-fs error (device ide0(3,65)): ext2_write_inode: unable to read
inode block
- inode=3945, block=16390
hdb: lost interrupt
hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hdb: drive not ready for command
hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hdb: drive not ready for command
hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hdb: drive not ready for command
hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hdb: drive not ready for command
ide0: unexpected interrupt, status=0x58, count=5
ide0: reset: master: error (0x80?); slave: failed
hda: status timeout: status=0x80 { Busy }
hda: drive not ready for command
ide0: reset: success
hdb: lost interrupt
hdb: lost interrupt
hdb: lost interrupt
hdb: lost interrupt
hdb: lost interrupt
hdb: lost interrupt
hdb: lost interrupt
hdb: lost interrupt
hdb: lost interrupt

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