diff --git a/smartmontools/ChangeLog b/smartmontools/ChangeLog index fe8c089cba5f1d5895d11600d049a4ec92f5912f..6cdef5b7a5a04a2480d6b93f7aa36926c364aa00 100644 --- a/smartmontools/ChangeLog +++ b/smartmontools/ChangeLog @@ -1,5 +1,9 @@ $Id$ +2022-08-15 Christian Franke <franke@computer.org> + + ataprint.cpp: Print error count even if error log index is invalid. + 2022-08-07 Christian Franke <franke@computer.org> drivedb.h: diff --git a/smartmontools/ataprint.cpp b/smartmontools/ataprint.cpp index d3d480974ee82560bfdebc284420ebee25e4bf31..216b089094e958ed18603bd0cde39da43a1e52d1 100644 --- a/smartmontools/ataprint.cpp +++ b/smartmontools/ataprint.cpp @@ -2194,9 +2194,9 @@ static int PrintSmartErrorlog(const ata_smart_errorlog *data, print_on(); // If log pointer out of range, return if (data->error_log_pointer>5){ - pout("Invalid Error Log index = 0x%02x (T13/1321D rev 1c " - "Section 8.41.6.8.2.2 gives valid range from 1 to 5)\n\n", - (int)data->error_log_pointer); + pout("Invalid Error Log index = 0x%02x (valid range is from 1 to 5)\n", + data->error_log_pointer); + pout("ATA Error Count: %d (possibly also invalid)\n\n", data->ata_error_count); return 0; } @@ -2359,6 +2359,7 @@ static int PrintSmartExtErrorLog(ata_device * device, // to 0. if (!(erridx == 0 && 1 <= log->reserved1 && log->reserved1 <= nentries)) { pout("Invalid Error Log index = 0x%04x (reserved = 0x%02x)\n", erridx, log->reserved1); + pout("Device Error Count: %d (possibly also invalid)\n\n", log->device_error_count); return 0; } pout("Invalid Error Log index = 0x%04x, trying reserved byte (0x%02x) instead\n", erridx, log->reserved1);