Re: IDE problems in 2.2.14

From: Mark Hahn (hahn@coffee.psychology.mcmaster.ca)
Date: Mon Apr 24 2000 - 12:22:56 EST


> hda: status timeout: status=0xd0 { Busy }
> hda: no DRQ after issuing WRITE
...
> hdc: ST34313A, ATA DISK drive

raid, the type of controller, and the other devices seem to be
irrelevant here. these Seagate disks seem to have some kind of
bug that causes priblems with PIO on Linux.

this status is BSY DRDY !DF !DRQ !ERR, but Linux is waiting for
BSY to fall, then wants DRQ to be asserted (ide.c: ide_wait_stat,
called from ide-disk.c: do_rw_disk, line 444 in 99-pre6. the code
in question will wait 50ms for this to happen, which seems like plenty.

but the code is quite grotty with seemingly archaic busy-waiting
and irq manipulation. I guess there are a few ways this could be broken:
linux or seagate might break the protocol or either might be too fast/slow.
a simple experiment is to change WAIT_DRQ to 500ms or so; if that works,
then the problem is just seagate taking a long time.

note that another solution is stop using a stone-age mode (PIO).

regards, mark hahn.

-
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/



This archive was generated by hypermail 2b29 : Sun Apr 30 2000 - 21:00:08 EST