diff options
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/acpi/acpivideo.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/dev/acpi/acpivideo.c b/sys/dev/acpi/acpivideo.c index a1728a08737..a23430cc946 100644 --- a/sys/dev/acpi/acpivideo.c +++ b/sys/dev/acpi/acpivideo.c @@ -1,4 +1,4 @@ -/* $OpenBSD: acpivideo.c,v 1.3 2009/06/03 00:36:59 pirofti Exp $ */ +/* $OpenBSD: acpivideo.c,v 1.4 2009/06/04 04:50:08 pirofti Exp $ */ /* * Copyright (c) 2008 Federico G. Schwindt <fgsch@openbsd.org> * @@ -97,6 +97,7 @@ acpivideo_attach(struct device *parent, struct device *self, void *aux) acpivideo_get_dod(sc); aml_find_node(aaa->aaa_node, "_DCS", acpi_foundvout, sc); + aml_find_node(aaa->aaa_node, "_BCL", acpi_foundvout, sc); } int @@ -170,6 +171,11 @@ acpi_foundvout(struct aml_node *node, void *arg) av.aaa.aaa_node = node->parent; av.aaa.aaa_name = "acpivout"; av.dod = sc->sc_dod[i]; + /* + * Make sure we don't attach twice if both _BCL and + * _DCS methods are found by zeroing the DOD address. + */ + sc->sc_dod[i] = 0; config_found(self, &av, acpivideo_print); } |