IDE 48 bit addressing causes data corruption

Felix Domke (tmbinc@elitedvb.net)
Tue, 18 Mar 2003 15:30:57 +0100


Hi,

i'm having linuxppc-embedded based system (2.4.21-pre, but 2.4.20 shows
same results) with a normal ATAPI-5-styled IDE controller.

When using a 200GB Maxtor HDD, there are strange effects. When writing
just the sector number to every sector (or every 100MB is enough), and
reading back, data from incorrect sectors is read. The upper 24bit of
the LBA seem to be invalid, shows like the upper 24bit aren't updated in
the 2 cycle LBA-write in the ide-disk.c. For example, reading from
0x946000000 (LBA 0x4A30000) will read from 0x2f46000000 (LBA 0x17A30000).
note that i lineary fill the disk, and 0x17xxxxxx is the highest
possible LBA, so the last upper bit from the write won't be actualized
any more when reading back from lower addresses.

However, reading them back (using the HOB-bit) will work and give
correct results. I don't really know whats going wrong, except that
there are addressing-faults.

Is this a known bug of the Maxtor 6Y200L maybe? the 160GB version showed
the same effect.

Is it possible that the IDE-Controller causes the fault? normal 28bit
HDDs work just fine.

Can somebody please confirm again that i don't need an atapi-6 (ATA133)
controller to use LBA48 ?

Regulary some people are stating this, and regulary some people tell
that these people are wrong.

felix

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