From 4fdaf003a3b7277c1f3aec45d52c362f6aa187bc Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 5 Aug 2009 23:41:54 +0200 Subject: blacklist attribute 5 of an hitachi drive https://bugzilla.redhat.com/show_bug.cgi?id=506254 --- atasmart.c | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/atasmart.c b/atasmart.c index d11ab08..f11c5c4 100644 --- a/atasmart.c +++ b/atasmart.c @@ -1249,18 +1249,19 @@ static const SkSmartAttributeInfo const attribute_info[256] = { /* %STRINGPOOLSTOP% */ typedef enum SkSmartQuirk { - SK_SMART_QUIRK_9_POWERONMINUTES = 1, - SK_SMART_QUIRK_9_POWERONSECONDS = 2, - SK_SMART_QUIRK_9_POWERONHALFMINUTES = 4, - SK_SMART_QUIRK_192_EMERGENCYRETRACTCYCLECT = 8, - SK_SMART_QUIRK_193_LOADUNLOAD = 16, - SK_SMART_QUIRK_194_10XCELSIUS = 32, - SK_SMART_QUIRK_194_UNKNOWN = 64, - SK_SMART_QUIRK_200_WRITEERRORCOUNT = 128, - SK_SMART_QUIRK_201_DETECTEDTACOUNT = 256, - SK_SMART_QUIRK_9_UNKNOWN = 512, - SK_SMART_QUIRK_197_UNKNOWN = 1024, - SK_SMART_QUIRK_198_UNKNOWN = 2048, + SK_SMART_QUIRK_9_POWERONMINUTES = 0x0001, + SK_SMART_QUIRK_9_POWERONSECONDS = 0x0002, + SK_SMART_QUIRK_9_POWERONHALFMINUTES = 0x0004, + SK_SMART_QUIRK_192_EMERGENCYRETRACTCYCLECT = 0x0008, + SK_SMART_QUIRK_193_LOADUNLOAD = 0x0010, + SK_SMART_QUIRK_194_10XCELSIUS = 0x0020, + SK_SMART_QUIRK_194_UNKNOWN = 0x0040, + SK_SMART_QUIRK_200_WRITEERRORCOUNT = 0x0080, + SK_SMART_QUIRK_201_DETECTEDTACOUNT = 0x0100, + SK_SMART_QUIRK_5_UNKNOWN = 0x0200, + SK_SMART_QUIRK_9_UNKNOWN = 0x0400, + SK_SMART_QUIRK_197_UNKNOWN = 0x0800, + SK_SMART_QUIRK_198_UNKNOWN = 0x1000, } SkSmartQuirk; /* %STRINGPOOLSTART% */ @@ -1274,6 +1275,7 @@ static const char *quirk_name[] = { "194_UNKNOWN", "200_WRITEERRORCOUNT", "201_DETECTEDTACOUNT", + "5_UNKNOWN", "9_UNKNOWN", "197_UNKNOWN", "198_UNKNOWN", @@ -1414,7 +1416,10 @@ static const SkSmartQuirkDatabase quirk_database[] = { { SK_SMART_QUIRK_9_POWERONMINUTES| SK_SMART_QUIRK_193_LOADUNLOAD }, { - + "^HTS541010G9SA00$", + "^MBZOC60P$", + SK_SMART_QUIRK_5_UNKNOWN + }, { NULL, NULL, 0 @@ -1497,6 +1502,12 @@ static const SkSmartAttributeInfo *lookup_attribute(SkDisk *d, uint8_t id) { if (quirk) { switch (id) { + case 5: + if (quirk & SK_SMART_QUIRK_5_UNKNOWN) + return NULL; + + break; + case 9: /* %STRINGPOOLSTART% */ if (quirk & SK_SMART_QUIRK_9_POWERONMINUTES) { -- cgit