]> git.ipfire.org Git - thirdparty/libatasmart.git/commitdiff
Ignore attributes 5 and 190 on some Apple SSD
authorLennart Poettering <lennart@poettering.net>
Fri, 23 Oct 2009 22:38:42 +0000 (00:38 +0200)
committerLennart Poettering <lennart@poettering.net>
Fri, 23 Oct 2009 22:38:42 +0000 (00:38 +0200)
http://bugs.freedesktop.org/show_bug.cgi?id=24700

atasmart.c

index 3ec6c1995249933d5561261d2edc71135e576ed1..176b34f3788dd4ee6ce4a2c541dfbc22c1fec50c 100644 (file)
@@ -1349,6 +1349,7 @@ typedef enum SkSmartQuirk {
         SK_SMART_QUIRK_9_UNKNOWN                   = 0x0400,
         SK_SMART_QUIRK_197_UNKNOWN                 = 0x0800,
         SK_SMART_QUIRK_198_UNKNOWN                 = 0x1000,
+        SK_SMART_QUIRK_190_UNKNOWN                 = 0x2000
 } SkSmartQuirk;
 
 /* %STRINGPOOLSTART% */
@@ -1366,6 +1367,7 @@ static const char *quirk_name[] = {
         "9_UNKNOWN",
         "197_UNKNOWN",
         "198_UNKNOWN",
+        "190_UNKNOWN",
         NULL
 };
 /* %STRINGPOOLSTOP% */
@@ -1510,6 +1512,13 @@ static const SkSmartQuirkDatabase quirk_database[] = { {
                 "^MBZOC60P$",
                 SK_SMART_QUIRK_5_UNKNOWN
         }, {
+
+        /*** Apple SSD (?) http://bugs.freedesktop.org/show_bug.cgi?id=24700 */
+                "^MCCOE64GEMPP$",
+                "^2.9.09$",
+                SK_SMART_QUIRK_5_UNKNOWN|
+                SK_SMART_QUIRK_190_UNKNOWN
+        }, {
                 NULL,
                 NULL,
                 0
@@ -1623,6 +1632,12 @@ static const SkSmartAttributeInfo *lookup_attribute(SkDisk *d, uint8_t id) {
 
                                 break;
 
+                        case 190:
+                                if (quirk & SK_SMART_QUIRK_190_UNKNOWN)
+                                        return NULL;
+
+                                break;
+
                         case 192:
                                 /* %STRINGPOOLSTART% */
                                 if (quirk & SK_SMART_QUIRK_192_EMERGENCYRETRACTCYCLECT) {