Hi Jeff, A colleague noticed recent versions of Ubuntu no longer detect his 80 GB ST380020ACE drive. This drive is special in that it advertises LBA48 support, but has the lba_capacity_2 field set to zero (cfr. http://lkml.org/lkml/2004/3/30/163). Upon closer look, libata indeed doesn't seem to handle this case yet. Below is an (untested) fix. --- Subject: libata: Ignore bogus lba48 drives Some drives (e.g. the 80 GB ST380020ACE) advertise they support LBA48, but have lba_capacity_2 field set to zero. This causes the drive not being detected by the libata driver. Add a check for this to ata_id_has_lba48(), cfr. what is done in idedisk_supports_lba48(). Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> --- NOTE: Untested due to the lack of hardware include/linux/ata.h | 2 ++ 1 file changed, 2 insertions(+) --- a/include/linux/ata.h +++ b/include/linux/ata.h @@ -402,6 +402,8 @@ static inline int ata_id_has_lba48(const { if ((id[83] & 0xC000) != 0x4000) return 0; + if (!ata_id_u64(id, 100)) + return 0; return id[83] & (1 << 10); } Gr{oetje,eeting}s, Geert -- 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-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html