Re: Kernel SeekCompleteErrors... Different from Re: LibPATA codeissues / 2.6.15.4

From: Mark Lord
Date: Mon Feb 27 2006 - 08:38:09 EST


Alan Cox wrote:
On Sul, 2006-02-26 at 15:36 -0500, Mark Lord wrote:
It still is unreliable, as being discussed in another thread.

libata wrongly says "medium error" any time it issues a command
that the drive rejects (unsupported, invalid parameters, etc..).

It seems to still get a single case wrong. But it does the report the
ATA state correctly still.

This is biting a few people in 2.6.16-rc*, due to the FUA stuff.

It is driven by a table in

libata-scsi.c:ata_to_sense_error()

so if you can figure out the wrong entry and tweak the table that would be great

It's the fall-through case, where the table is not used.


/* No error? Undecoded? */
printk(KERN_WARNING "ata%u: no sense translation for op=0x%02x status: 0x%02x\n",
id, opcode, drv_stat);

/* For our last chance pick, use medium read error because
* it's much more common than an ATA drive telling you a write
* has failed.
*/
*sk = MEDIUM_ERROR;
*asc = 0x11; /* "unrecovered read error" */
*ascq = 0x04; /* "auto-reallocation failed" */

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