summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2016-02-23 22:50:45 +0000
committerjkim <jkim@FreeBSD.org>2016-02-23 22:50:45 +0000
commit17b02dde28003dcb4aa2bb9a4d5bbd8448465da4 (patch)
treef271dabbd8aae2784c531b4451c05bde536fa29f
parentc7d6350d16b34cf063d0cf657e4b6ca004f0a32b (diff)
downloadFreeBSD-src-17b02dde28003dcb4aa2bb9a4d5bbd8448465da4.zip
FreeBSD-src-17b02dde28003dcb4aa2bb9a4d5bbd8448465da4.tar.gz
Remove brightness notify handler before reinstalling new one.
-rw-r--r--sys/dev/acpica/acpi_video.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/acpica/acpi_video.c b/sys/dev/acpica/acpi_video.c
index dc8aa41..135f5bc 100644
--- a/sys/dev/acpica/acpi_video.c
+++ b/sys/dev/acpica/acpi_video.c
@@ -597,8 +597,12 @@ acpi_video_vo_bind(struct acpi_video_output *vo, ACPI_HANDLE handle)
{
ACPI_SERIAL_BEGIN(video_output);
- if (vo->vo_levels != NULL)
+ if (vo->vo_levels != NULL) {
+ AcpiRemoveNotifyHandler(vo->handle, ACPI_DEVICE_NOTIFY,
+ acpi_video_vo_notify_handler);
AcpiOsFree(vo->vo_levels);
+ vo->vo_levels = NULL;
+ }
vo->handle = handle;
vo->vo_numlevels = vo_get_brightness_levels(handle, &vo->vo_levels);
if (vo->vo_numlevels >= 2) {
OpenPOWER on IntegriCloud