aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/acpica
diff options
context:
space:
mode:
authorHajimu UMEMOTO <ume@FreeBSD.org>2005-08-25 10:50:36 +0000
committerHajimu UMEMOTO <ume@FreeBSD.org>2005-08-25 10:50:36 +0000
commit9b96aa9ad74dc270f53b57b5e0cdc417b6e3045f (patch)
tree060ed10de101ac6113d7f0231cde2aea24dd46f4 /sys/dev/acpica
parent849aee62b2d5e26d9d1cfe6f52fcca5edc270ebe (diff)
Notes
Diffstat (limited to 'sys/dev/acpica')
-rw-r--r--sys/dev/acpica/acpi_thermal.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/dev/acpica/acpi_thermal.c b/sys/dev/acpica/acpi_thermal.c
index f7b454071bad4..e78a24df0d87d 100644
--- a/sys/dev/acpica/acpi_thermal.c
+++ b/sys/dev/acpica/acpi_thermal.c
@@ -347,7 +347,14 @@ acpi_tz_establish(struct acpi_tz_softc *sc)
AcpiOsFree(sc->tz_zone.al[i].Pointer);
if (sc->tz_zone.psl.Pointer != NULL)
AcpiOsFree(sc->tz_zone.psl.Pointer);
- bzero(&sc->tz_zone, sizeof(sc->tz_zone));
+
+ /*
+ * XXX: We initialize only ACPI_BUFFER to avoid race condition
+ * with passive cooling thread which refers psv, tc1, tc2 and tsp.
+ */
+ bzero(sc->tz_zone.ac, sizeof(sc->tz_zone.ac));
+ bzero(sc->tz_zone.al, sizeof(sc->tz_zone.al));
+ bzero(&sc->tz_zone.psl, sizeof(sc->tz_zone.psl));
/* Evaluate thermal zone parameters. */
for (i = 0; i < TZ_NUMLEVELS; i++) {