From cb2ba2ce3b7f470d67050e4c20d64af30e883206 Mon Sep 17 00:00:00 2001
From: shattered <shattered@4ea69e1a-61f1-4043-bf83-b5c94c648137>
Date: Mon, 3 Mar 2008 22:38:48 +0000
Subject: [PATCH] (Maybe) fix attribute autosave in FreeBSD.

git-svn-id: https://smartmontools.svn.sourceforge.net/svnroot/smartmontools/trunk@2467 4ea69e1a-61f1-4043-bf83-b5c94c648137
---
 sm5/CHANGELOG      | 4 +++-
 sm5/os_freebsd.cpp | 6 +++---
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/sm5/CHANGELOG b/sm5/CHANGELOG
index 1a3be759f..bafb54707 100644
--- a/sm5/CHANGELOG
+++ b/sm5/CHANGELOG
@@ -1,6 +1,6 @@
 CHANGELOG for smartmontools
 
-$Id: CHANGELOG,v 1.657 2008/03/03 22:29:02 shattered Exp $
+$Id: CHANGELOG,v 1.658 2008/03/03 22:38:48 shattered Exp $
 
 The most recent version of this file is:
 http://smartmontools.cvs.sourceforge.net/smartmontools/sm5/CHANGELOG?view=markup
@@ -38,6 +38,8 @@ NOTES FOR FUTURE RELEASES: see TODO file.
 
 SMARTMONTOOLS STABLE RELEASE 5.38 2008/02/24
 
+  [SS] (Maybe) fix attribute autosave in FreeBSD.
+
   [SS] Major NetBSD-specific bugfixes:
        - handle actual SCSI and ATA errors and not only ioctl() errors;
        - set up I/O request properly for AUTO_OFFLINE and AUTOSAVE commands (inspired by
diff --git a/sm5/os_freebsd.cpp b/sm5/os_freebsd.cpp
index 1e0dcdc4b..66108e18e 100644
--- a/sm5/os_freebsd.cpp
+++ b/sm5/os_freebsd.cpp
@@ -44,9 +44,9 @@
 #include "extern.h"
 #include "os_freebsd.h"
 
-static const char *filenameandversion="$Id: os_freebsd.cpp,v 1.56 2008/02/23 06:41:59 ballen4705 Exp $";
+static const char *filenameandversion="$Id: os_freebsd.cpp,v 1.57 2008/03/03 22:38:48 shattered Exp $";
 
-const char *os_XXXX_c_cvsid="$Id: os_freebsd.cpp,v 1.56 2008/02/23 06:41:59 ballen4705 Exp $" \
+const char *os_XXXX_c_cvsid="$Id: os_freebsd.cpp,v 1.57 2008/03/03 22:38:48 shattered Exp $" \
 ATACMDS_H_CVSID CONFIG_H_CVSID INT64_H_CVSID OS_FREEBSD_H_CVSID SCSICMDS_H_CVSID UTILITY_H_CVSID;
 
 // to hold onto exit code for atexit routine
@@ -374,8 +374,8 @@ int ata_command_interface(int fd, smart_command_set command, int select, char *d
     break;
   case AUTOSAVE:
     request.u.ata.feature=ATA_SMART_AUTOSAVE;
-    request.u.ata.count=0xf1;  // to enable autosave
     request.u.ata.lba=0xc24f<<8;
+    request.u.ata.count=select;
     request.flags=ATA_CMD_CONTROL;
     break;
   case IMMEDIATE_OFFLINE:
-- 
GitLab