--- a/sys/dev/powermng/it/it.c +++ b/sys/dev/powermng/it/it.c @@ -255,9 +255,10 @@ void it_generic_stemp(struct it_softc *sc, struct ksensor *sensors) { int i, sdata; for (i = 0; i < 3; i++) { - sdata = it_readreg(sc, ITD_SENSORTEMPBASE + i); - /* Convert temperature to Fahrenheit degres */ + /* temperature registers are signed two's complement, degC */ + sdata = (int8_t)it_readreg(sc, ITD_SENSORTEMPBASE + i); + /* Convert temperature to micro-Kelvin */ sensors[i].value = sdata * 1000000 + 273150000; } }