From aad4a85cd76ba67c32134b0f4370fde15ca9e546 Mon Sep 17 00:00:00 2001
From: ballen4705 <ballen4705@4ea69e1a-61f1-4043-bf83-b5c94c648137>
Date: Sat, 23 Feb 2008 06:41:59 +0000
Subject: [PATCH] Fix Auto-offline support in FreeBSD.  Thanks to Cyrus Rahman
 <crahman@gmail.com> for the patch, and Eduard Martinescu for blessing it.
 ----------------------------------------------------------------------

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

diff --git a/sm5/CHANGELOG b/sm5/CHANGELOG
index f00ee9f19..d880686da 100644
--- a/sm5/CHANGELOG
+++ b/sm5/CHANGELOG
@@ -1,6 +1,6 @@
 CHANGELOG for smartmontools
 
-$Id: CHANGELOG,v 1.653 2008/02/17 00:30:47 dpgilbert Exp $
+$Id: CHANGELOG,v 1.654 2008/02/23 06:41:59 ballen4705 Exp $
 
 The most recent version of this file is:
 http://smartmontools.cvs.sourceforge.net/smartmontools/sm5/CHANGELOG?view=markup
@@ -34,6 +34,10 @@ NOTES FOR FUTURE RELEASES: see TODO file.
 
 <DEVELOPERS: ADDITIONS TO THE CHANGE LOG GO JUST BELOW HERE, PLEASE>
 
+  [BA] Fix auto-offline support in FreeBSD.  Thanks to
+       Cyrus Rahman <crahman@gmail.com> for the patch, and
+       Eduard Martinescu for blessing it.
+
   [DG] smartd re-opens "SCSI" devices as ATA devices if a SAT layer is
        detected (smartd bug IMO). In Linux this upsets scsi generic
        device nodes (e.g. /dev/sg0). Detect the re-open in os_linux.cpp
diff --git a/sm5/os_freebsd.cpp b/sm5/os_freebsd.cpp
index 4da7b7f41..1e0dcdc4b 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.55 2007/12/08 17:11:11 shattered Exp $";
+static const char *filenameandversion="$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.55 2007/12/08 17:11:11 shattered Exp $" \
+const char *os_XXXX_c_cvsid="$Id: os_freebsd.cpp,v 1.56 2008/02/23 06:41:59 ballen4705 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
@@ -368,7 +368,8 @@ int ata_command_interface(int fd, smart_command_set command, int select, char *d
   case AUTO_OFFLINE:
     // NOTE: According to ATAPI 4 and UP, this command is obsolete
     request.u.ata.feature=ATA_SMART_AUTO_OFFLINE;
-    request.u.ata.lba=select|(0xc24f<<8);
+    request.u.ata.lba=0xc24f<<8;                                                                                                                                         
+    request.u.ata.count=select;                                                                                                                                          
     request.flags=ATA_CMD_CONTROL;
     break;
   case AUTOSAVE:
-- 
GitLab