Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-9]: src/sys/dev/acpi Pull up following revision(s) (requested by ...



details:   https://anonhg.NetBSD.org/src/rev/84ac118f068e
branches:  netbsd-9
changeset: 1001818:84ac118f068e
user:      martin <martin%NetBSD.org@localhost>
date:      Sat Jun 20 15:52:50 2020 +0000

description:
Pull up following revision(s) (requested by jdolecek in ticket #959):

        sys/dev/acpi/acpi_ec.c: revision 1.84

only install space handler and enable interrupt for EC if ACPI

claims the device is actually present, it's not enough when there
is entry for it in the ACPI tables
fixes interrupt storm triggered on Dell PowerEdge R220 by enabling
GPE interrupt on a non-enabled EC (for which _REG call later
fails), reported and fix tested by Dima Veselov:
http://mail-index.netbsd.org/netbsd-users/2020/03/02/msg024166.html

XXX pullup netbsd-9

diffstat:

 sys/dev/acpi/acpi_ec.c |  9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diffs (30 lines):

diff -r 1b375c4509f6 -r 84ac118f068e sys/dev/acpi/acpi_ec.c
--- a/sys/dev/acpi/acpi_ec.c    Sat Jun 20 15:49:15 2020 +0000
+++ b/sys/dev/acpi/acpi_ec.c    Sat Jun 20 15:52:50 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: acpi_ec.c,v 1.75.20.3 2020/04/29 13:33:35 martin Exp $ */
+/*     $NetBSD: acpi_ec.c,v 1.75.20.4 2020/06/20 15:52:50 martin Exp $ */
 
 /*-
  * Copyright (c) 2007 Joerg Sonnenberger <joerg%NetBSD.org@localhost>.
@@ -59,7 +59,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi_ec.c,v 1.75.20.3 2020/04/29 13:33:35 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_ec.c,v 1.75.20.4 2020/06/20 15:52:50 martin Exp $");
 
 #include <sys/param.h>
 #include <sys/callout.h>
@@ -268,6 +268,11 @@
                goto fail0;
        }
 
+       if (!acpi_device_present(aa->aa_node->ad_handle)) {
+               aprint_normal(": not present\n");
+               goto fail0;
+       }
+
        if (!acpiec_parse_gpe_package(self, aa->aa_node->ad_handle,
                                      &gpe_handle, &gpebit))
                goto fail0;



Home | Main Index | Thread Index | Old Index