Messages in this thread | | | Date | Fri, 5 Nov 2004 22:45:04 -0500 | From | Ross Biro <> | Subject | Re: [PATCH 2/3] WIN_* -> ATA_CMD_* conversion: update WIN_* users to use ATA_CMD_* |
| |
On Fri, 5 Nov 2004 19:23:14 -0800, Chris Wedgwood <cw@f00f.org> wrote: > @@ -434,7 +434,7 @@ > try_to_flush_leftover_data(drive); > if (hwif->INB(IDE_STATUS_REG) & (BUSY_STAT|DRQ_STAT)) { > /* force an abort */ > - hwif->OUTB(WIN_IDLEIMMEDIATE,IDE_COMMAND_REG); > + hwif->OUTB(ATA_CMD_IDLEIMMEDIATE,IDE_COMMAND_REG); > } > if (rq->errors >= ERROR_MAX || blk_noretry_request(rq)) > DRIVER(drive)->end_request(drive, 0, 0);
Just a reminder, this error recovery doesn't work on many modern hard drives, and is a violation of all ATA specs after ATA-2*. In particular, most Maxtor and Western Digital Drives will not recover from errors with this command sequence. The preferred error recovery is to do a reset followed by a set features, because that is what Windows does (as told to me by a drive vendor). I've tested the reset/set features method of error recovery and it works on all the drives I've tried. I have not tried it on any older drives, or any other types of ATAPI devices.
Ross
*Most drives set the ATA-2 support flag, so technically they are in violation of the ATA spec if they don't support this error recovery, but the drive vendors don't care, they just make sure it works with windows. - 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/
| |