From 544be2c7f8264fea10f2fe226b520d35ca03ef3a Mon Sep 17 00:00:00 2001
From: samm2 <samm2@4ea69e1a-61f1-4043-bf83-b5c94c648137>
Date: Tue, 6 Oct 2009 23:44:33 +0000
Subject: [PATCH] FreeBSD: fixed bug with cciss caused by latest changes

git-svn-id: https://smartmontools.svn.sourceforge.net/svnroot/smartmontools/trunk@2941 4ea69e1a-61f1-4043-bf83-b5c94c648137
---
 smartmontools/os_freebsd.cpp | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/smartmontools/os_freebsd.cpp b/smartmontools/os_freebsd.cpp
index 01cfadb5a..3f31ca063 100644
--- a/smartmontools/os_freebsd.cpp
+++ b/smartmontools/os_freebsd.cpp
@@ -1172,12 +1172,11 @@ freebsd_cciss_device::freebsd_cciss_device(smart_interface * intf,
 
 bool freebsd_cciss_device::scsi_pass_through(scsi_cmnd_io * iop)
 {
-  int report=con->reportscsiioctl;
-  int fd=get_fd();
-
 #ifdef HAVE_DEV_CISS_CISSIO_H
-  // check that "file descriptor" is valid
-  return cciss_io_interface(fd, m_disknum-1, iop, report);
+  int status = cciss_io_interface(get_fd(), m_disknum, iop, con->reportscsiioctl);
+  if (status < 0)
+      return set_err(-status);
+  return true;
 #else
   {
     static int warned = 0;
-- 
GitLab