diff --git a/sm5/smartctl.c b/sm5/smartctl.c index 7dec5b647b77787f0e5cb16baf78b8a33334f2dd..3d0d5440ce468847254267fc33a74b5e58a9925e 100644 --- a/sm5/smartctl.c +++ b/sm5/smartctl.c @@ -51,7 +51,7 @@ extern const char *os_solaris_ata_s_cvsid; extern const char *int64_vc6_c_cvsid; #endif extern const char *atacmdnames_c_cvsid, *atacmds_c_cvsid, *ataprint_c_cvsid, *knowndrives_c_cvsid, *os_XXXX_c_cvsid, *scsicmds_c_cvsid, *scsiprint_c_cvsid, *utility_c_cvsid; -const char* smartctl_c_cvsid="$Id: smartctl.c,v 1.132 2004/08/13 13:57:12 arvoreen Exp $" +const char* smartctl_c_cvsid="$Id: smartctl.c,v 1.133 2004/08/16 00:57:29 ballen4705 Exp $" ATACMDS_H_CVSID ATAPRINT_H_CVSID CONFIG_H_CVSID EXTERN_H_CVSID INT64_H_CVSID KNOWNDRIVES_H_CVSID SCSICMDS_H_CVSID SCSIPRINT_H_CVSID SMARTCTL_H_CVSID UTILITY_H_CVSID; // This is a block containing all the "control variables". We declare @@ -840,7 +840,8 @@ int main (int argc, char **argv){ if (con->controller_port) { // figure out 3Ware type - con->controller_type = guess_device_type(device); + if (CONTROLLER_SCSI == (con->controller_type = guess_device_type(device))) + con->controller_type=THREE_WARE_678K; } // set up mode for open() call. SCSI case is: @@ -859,7 +860,7 @@ int main (int argc, char **argv){ else if (con->controller_type == THREE_WARE_678K_CHAR) mode="ATA_3WARE_678K"; else - mode="ATA_3WARE_UNKNOWN"; + mode="ATA"; } break; } diff --git a/sm5/smartctl.cpp b/sm5/smartctl.cpp index 443e0a72d57ec61dd491707afe2ad769bcd9f426..af79849cf1b4ea535b7dd5c74df6c2fe3b0b0571 100644 --- a/sm5/smartctl.cpp +++ b/sm5/smartctl.cpp @@ -51,7 +51,7 @@ extern const char *os_solaris_ata_s_cvsid; extern const char *int64_vc6_c_cvsid; #endif extern const char *atacmdnames_c_cvsid, *atacmds_c_cvsid, *ataprint_c_cvsid, *knowndrives_c_cvsid, *os_XXXX_c_cvsid, *scsicmds_c_cvsid, *scsiprint_c_cvsid, *utility_c_cvsid; -const char* smartctl_c_cvsid="$Id: smartctl.cpp,v 1.132 2004/08/13 13:57:12 arvoreen Exp $" +const char* smartctl_c_cvsid="$Id: smartctl.cpp,v 1.133 2004/08/16 00:57:29 ballen4705 Exp $" ATACMDS_H_CVSID ATAPRINT_H_CVSID CONFIG_H_CVSID EXTERN_H_CVSID INT64_H_CVSID KNOWNDRIVES_H_CVSID SCSICMDS_H_CVSID SCSIPRINT_H_CVSID SMARTCTL_H_CVSID UTILITY_H_CVSID; // This is a block containing all the "control variables". We declare @@ -840,7 +840,8 @@ int main (int argc, char **argv){ if (con->controller_port) { // figure out 3Ware type - con->controller_type = guess_device_type(device); + if (CONTROLLER_SCSI == (con->controller_type = guess_device_type(device))) + con->controller_type=THREE_WARE_678K; } // set up mode for open() call. SCSI case is: @@ -859,7 +860,7 @@ int main (int argc, char **argv){ else if (con->controller_type == THREE_WARE_678K_CHAR) mode="ATA_3WARE_678K"; else - mode="ATA_3WARE_UNKNOWN"; + mode="ATA"; } break; } diff --git a/sm5/utility.h b/sm5/utility.h index a6809e020f4c93c146f9f3c067f54fe64fe793b6..a2f5e988afdef363ac3da2ca3098cd2d17447140 100644 --- a/sm5/utility.h +++ b/sm5/utility.h @@ -25,7 +25,7 @@ #ifndef UTILITY_H_ #define UTILITY_H_ -#define UTILITY_H_CVSID "$Id: utility.h,v 1.35 2004/08/13 13:57:12 arvoreen Exp $\n" +#define UTILITY_H_CVSID "$Id: utility.h,v 1.36 2004/08/16 00:57:29 ballen4705 Exp $\n" #include <time.h> #include <sys/types.h> // for regex.h (according to POSIX) @@ -167,9 +167,9 @@ void MsecToText(unsigned int msec, char *txt); #define CONTROLLER_TYPE(x) (x->controller_type & CONTROLLER_MASK) // 3Ware controller types -#define THREE_WARE_9000_CHAR (CONTROLLER_3WARE & 1) -#define THREE_WARE_678K (CONTROLLER_3WARE & 2) -#define THREE_WARE_678K_CHAR (CONTROLLER_3WARE & 3) +#define THREE_WARE_9000_CHAR (CONTROLLER_3WARE | 1) +#define THREE_WARE_678K (CONTROLLER_3WARE | 2) +#define THREE_WARE_678K_CHAR (CONTROLLER_3WARE | 3) #define THREE_WARE_TYPE_MASK 0x0F #define THREE_WARE_TYPE(x) (x->controller_type & THREE_WARE_TYPE_MASK)