Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=17bd9a2f4c35de29d2539a2ff6851d61be281e25
Commit:     17bd9a2f4c35de29d2539a2ff6851d61be281e25
Parent:     b55d1b1814c52463c11707f53dbdc223e09b2924
Author:     Geert Uytterhoeven <[EMAIL PROTECTED]>
AuthorDate: Mon Oct 29 21:21:37 2007 +0100
Committer:  Jeff Garzik <[EMAIL PROTECTED]>
CommitDate: Sun Nov 4 22:53:15 2007 -0500

    libata and bogus LBA48 drives
    
    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.
    
    Signed-off-by: Jeff Garzik <[EMAIL PROTECTED]>
---
 include/linux/ata.h |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/include/linux/ata.h b/include/linux/ata.h
index 61535e7..304825b 100644
--- a/include/linux/ata.h
+++ b/include/linux/ata.h
@@ -425,6 +425,8 @@ static inline int ata_id_has_lba48(const u16 *id)
 {
        if ((id[83] & 0xC000) != 0x4000)
                return 0;
+       if (!ata_id_u64(id, 100))
+               return 0;
        return id[83] & (1 << 10);
 }
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to