[PATCH] Bogus LBA48 drives

From: Geert Uytterhoeven
Date: Tue Mar 30 2004 - 10:27:45 EST

Apparently some IDE drives (e.g. a pile of 80 GB ST380020ACE drives I have
access to) advertise to support LBA48, but don't, causing kernels that support
LBA48 (i.e. anything newer than 2.4.18, including 2.4.25 and 2.6.4) to fail on
them. Older kernels (including 2.2.20 on the Debian woody CDs) work fine.

One problem with those drives is that the lba_capacity_2 field in their drive
identification is set to 0, making the IDE driver think the disk is 0 bytes
large. At first I tried modifying the driver to use lba_capacity if
lba_capacity_2 is set to 0, but this caused disk errors. So it looks like those
drives don't support the increased transfer size of LBA48 neither.

I added a workaround for these drives to both 2.4.25 and 2.6.4. I'll send
patches in follow-up emails.

BTW, this problem (incl. a small patch to fix it for 2.4.19, which doesn't work
on 2.4.25 anymore) was reported a while ago by JunHyeok Heo, cfr.



Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
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/