summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorattilio <attilio@FreeBSD.org>2011-09-19 10:58:30 +0000
committerattilio <attilio@FreeBSD.org>2011-09-19 10:58:30 +0000
commit17bc15383e6f758009e3c2953d7630bfd61c958f (patch)
tree25883e54cacc5ebcd2fb30fd8142d49fffb1be5c
parentc186259e3181ae2f836aef914837c5abff6820fc (diff)
downloadFreeBSD-src-17bc15383e6f758009e3c2953d7630bfd61c958f.zip
FreeBSD-src-17bc15383e6f758009e3c2953d7630bfd61c958f.tar.gz
#PROCHOT assertion is sticky after reading the MSR (accordingly with
Intel manuals) it must be cleared by writing a 0. Fix that. Sponsored by: Sandvine Incorporated Reported by: rstone Reviewed by: delphij, emaste, rstone Approved by: re (kib) MFC after: 1 week
-rw-r--r--sys/dev/coretemp/coretemp.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/coretemp/coretemp.c b/sys/dev/coretemp/coretemp.c
index cb1cbff..54e5a43 100644
--- a/sys/dev/coretemp/coretemp.c
+++ b/sys/dev/coretemp/coretemp.c
@@ -384,6 +384,7 @@ coretemp_get_val_sysctl(SYSCTL_HANDLER_ARGS)
}
if (msr & THERM_STATUS_LOG) {
+ coretemp_clear_thermal_msr(device_get_unit(dev));
sc->sc_throttle_log = 1;
/*
@@ -424,8 +425,10 @@ coretemp_throttle_log_sysctl(SYSCTL_HANDLER_ARGS)
msr = coretemp_get_thermal_msr(device_get_unit(dev));
sc = device_get_softc(dev);
- if (msr & THERM_STATUS_LOG)
+ if (msr & THERM_STATUS_LOG) {
+ coretemp_clear_thermal_msr(device_get_unit(dev));
sc->sc_throttle_log = 1;
+ }
val = sc->sc_throttle_log;
OpenPOWER on IntegriCloud