From 7ca72d802088e6d60027e1c9452f79e1cf34b8fe Mon Sep 17 00:00:00 2001
From: ballen4705 <ballen4705@4ea69e1a-61f1-4043-bf83-b5c94c648137>
Date: Fri, 16 Apr 2004 13:23:48 +0000
Subject: [PATCH] Update Samsung firmware bug info

git-svn-id: https://smartmontools.svn.sourceforge.net/svnroot/smartmontools/trunk@1674 4ea69e1a-61f1-4043-bf83-b5c94c648137
---
 sm5/CHANGELOG       |  5 ++++-
 sm5/knowndrives.c   | 25 +++++++++++++++++--------
 sm5/knowndrives.cpp | 25 +++++++++++++++++--------
 3 files changed, 38 insertions(+), 17 deletions(-)

diff --git a/sm5/CHANGELOG b/sm5/CHANGELOG
index 148efe554..bc61824e3 100644
--- a/sm5/CHANGELOG
+++ b/sm5/CHANGELOG
@@ -1,6 +1,6 @@
 CHANGELOG for smartmontools
 
-$Id: CHANGELOG,v 1.398 2004/04/16 08:53:25 pjwilliams Exp $
+$Id: CHANGELOG,v 1.399 2004/04/16 13:23:47 ballen4705 Exp $
 
 The most recent version of this file is:
 http://cvs.sourceforge.net/viewcvs.py/smartmontools/sm5/CHANGELOG?sortby=date&view=markup
@@ -27,6 +27,9 @@ NOTES FOR FUTURE RELEASES: see TODO file.
 
 <ADDITIONS TO THE CHANGE LOG SHOULD BE ADDED JUST BELOW HERE, PLEASE>
 
+  [BA] Added entries for Samsung firmware versions -25 to -39 based
+       on latest info about firmware bug fixes.
+
   [PW] Added Seagate U Series X family, Seagate U8 family, and Seagate
        Medalist 8641 family to knowndrives table.
 
diff --git a/sm5/knowndrives.c b/sm5/knowndrives.c
index 457d64c25..ab8ec5a42 100644
--- a/sm5/knowndrives.c
+++ b/sm5/knowndrives.c
@@ -26,7 +26,7 @@
 #include "utility.h" // includes <regex.h>
 #include "config.h"
 
-const char *knowndrives_c_cvsid="$Id: knowndrives.c,v 1.100 2004/04/16 08:53:29 pjwilliams Exp $"
+const char *knowndrives_c_cvsid="$Id: knowndrives.c,v 1.101 2004/04/16 13:23:48 ballen4705 Exp $"
 ATACMDS_H_CVSID ATAPRINT_H_CVSID CONFIG_H_CVSID EXTERN_H_CVSID INT64_H_CVSID KNOWNDRIVES_H_CVSID UTILITY_H_CVSID;
 
 #define MODEL_STRING_LENGTH                         40
@@ -297,13 +297,6 @@ const drivesettings knowndrives[] = {
     NULL,
     NULL
   },
-  { // All Samsung drives with '.*-25' firmware
-    "^SAMSUNG.*",
-    ".*-25$",
-    may_need_minus_F2_enabled,
-    vendoropts_9_halfminutes,
-    NULL, NULL
-  },
   { // SAMSUNG SP40A2H with RR100-07 firmware
     "^SAMSUNG SP40A2H$",
     "^RR100-07$",
@@ -312,6 +305,22 @@ const drivesettings knowndrives[] = {
     specialpurpose_reverse_samsung,
     same_as_minus_F
   },
+  { // All Samsung drives with '.*-25' firmware
+    "^SAMSUNG.*",
+    ".*-25$",
+    may_need_minus_F2_disabled,
+    vendoropts_Samsung_SV4012H,
+    specialpurpose_reverse_samsung2,
+    same_as_minus_F2
+  },
+  { // All Samsung drives with '.*-26 or later (currently to -39)' firmware
+    "^SAMSUNG.*",
+    ".*-(2[6789]|3[0-9])$",
+    NULL,
+    vendoropts_Samsung_SV4012H,
+    NULL,
+    NULL
+  },
   { // Samsung ALL OTHER DRIVES
     "^SAMSUNG.*",
     ".*",
diff --git a/sm5/knowndrives.cpp b/sm5/knowndrives.cpp
index e212ed6a6..0ec8e6193 100644
--- a/sm5/knowndrives.cpp
+++ b/sm5/knowndrives.cpp
@@ -26,7 +26,7 @@
 #include "utility.h" // includes <regex.h>
 #include "config.h"
 
-const char *knowndrives_c_cvsid="$Id: knowndrives.cpp,v 1.100 2004/04/16 08:53:29 pjwilliams Exp $"
+const char *knowndrives_c_cvsid="$Id: knowndrives.cpp,v 1.101 2004/04/16 13:23:48 ballen4705 Exp $"
 ATACMDS_H_CVSID ATAPRINT_H_CVSID CONFIG_H_CVSID EXTERN_H_CVSID INT64_H_CVSID KNOWNDRIVES_H_CVSID UTILITY_H_CVSID;
 
 #define MODEL_STRING_LENGTH                         40
@@ -297,13 +297,6 @@ const drivesettings knowndrives[] = {
     NULL,
     NULL
   },
-  { // All Samsung drives with '.*-25' firmware
-    "^SAMSUNG.*",
-    ".*-25$",
-    may_need_minus_F2_enabled,
-    vendoropts_9_halfminutes,
-    NULL, NULL
-  },
   { // SAMSUNG SP40A2H with RR100-07 firmware
     "^SAMSUNG SP40A2H$",
     "^RR100-07$",
@@ -312,6 +305,22 @@ const drivesettings knowndrives[] = {
     specialpurpose_reverse_samsung,
     same_as_minus_F
   },
+  { // All Samsung drives with '.*-25' firmware
+    "^SAMSUNG.*",
+    ".*-25$",
+    may_need_minus_F2_disabled,
+    vendoropts_Samsung_SV4012H,
+    specialpurpose_reverse_samsung2,
+    same_as_minus_F2
+  },
+  { // All Samsung drives with '.*-26 or later (currently to -39)' firmware
+    "^SAMSUNG.*",
+    ".*-(2[6789]|3[0-9])$",
+    NULL,
+    vendoropts_Samsung_SV4012H,
+    NULL,
+    NULL
+  },
   { // Samsung ALL OTHER DRIVES
     "^SAMSUNG.*",
     ".*",
-- 
GitLab