From 33e726bc9367c029ce3f773b3823ccdf4382107d Mon Sep 17 00:00:00 2001
From: chrfranke <chrfranke@4ea69e1a-61f1-4043-bf83-b5c94c648137>
Date: Sat, 16 Jan 2010 17:17:25 +0000
Subject: [PATCH] Print ATA output registers if SMART status command returns
 bogus register values.

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

diff --git a/smartmontools/CHANGELOG b/smartmontools/CHANGELOG
index ff8308e58..50642d9a7 100644
--- a/smartmontools/CHANGELOG
+++ b/smartmontools/CHANGELOG
@@ -43,6 +43,9 @@ NOTES FOR FUTURE RELEASES: see TODO file.
 
 <DEVELOPERS: ADDITIONS TO THE CHANGE LOG GO JUST BELOW HERE, PLEASE>
 
+  [CF] Print ATA output registers if SMART status command returns bogus
+       register values.
+
   [CF] Windows: Don't return false ATA version info if IDENTIFY data
        is build from IOCTL_STORAGE_QUERY_PROPERTY result or from 3ware CLI
        output.
diff --git a/smartmontools/atacmds.cpp b/smartmontools/atacmds.cpp
index f4c977910..745a4d55d 100644
--- a/smartmontools/atacmds.cpp
+++ b/smartmontools/atacmds.cpp
@@ -623,8 +623,10 @@ int smartcommandhandler(ata_device * device, smart_command_set command, int sele
                  "probable SAT/USB truncation\n");
         } else {
           // We haven't gotten output that makes sense; print out some debugging info
-          pout("Error SMART Status command failed\n"
-               "Please get assistance from %s\n", PACKAGE_HOMEPAGE);
+          pout("Error SMART Status command failed\n");
+          pout("Please get assistance from %s\n", PACKAGE_HOMEPAGE);
+          pout("Register values returned from SMART Status command are:\n");
+          print_regs(" ", out.out_regs);
           errno = EIO;
           retval = -1;
         }
-- 
GitLab