Print this page
8244 Some drives report a bogus reference temperature
@@ -19,14 +19,14 @@
* CDDL HEADER END
*/
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
+ *
+ * Copyright 2017 RackTop Systems.
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#include <assert.h>
#include <errno.h>
#include <libdiskstatus.h>
#include <limits.h>
#include <stdlib.h>
@@ -1075,12 +1075,17 @@
plen = lphp->lph_length +
sizeof (scsi_log_parameter_header_t);
}
+ /*
+ * Take the reference temperature under advisory since it is often
+ * reported incorrectly. If it's 40C or less we ignore it and only
+ * register a fault once the current temperature reaches above 60C.
+ */
if (reftemp != INVALID_TEMPERATURE && curtemp != INVALID_TEMPERATURE &&
- curtemp > reftemp)
+ curtemp > reftemp && (reftemp > 40 || curtemp > 60))
sip->si_dsp->ds_faults |= DS_FAULT_OVERTEMP;
return (0);
}