summaryrefslogtreecommitdiffstats
path: root/sys/x86
diff options
context:
space:
mode:
authorrodrigc <rodrigc@FreeBSD.org>2014-06-23 22:31:28 +0000
committerrodrigc <rodrigc@FreeBSD.org>2014-06-23 22:31:28 +0000
commit95d8d7a8ec83f0dcf13e036e4b46b53f7cc6a182 (patch)
tree8c8bf69722e8a87fdf678c238a1aed6c77be0b5d /sys/x86
parentf1ff231dbac5d2982001a60611cc0837baf2ba4d (diff)
downloadFreeBSD-src-95d8d7a8ec83f0dcf13e036e4b46b53f7cc6a182.zip
FreeBSD-src-95d8d7a8ec83f0dcf13e036e4b46b53f7cc6a182.tar.gz
MFC r263795:
Strict value checking will cause problem. Bay trail DN2820FYKH is supported on Linux but does not work on FreeBSD. This behaviour is bug-compatible with Linux-3.13.5. References: http://d.hatena.ne.jp/syuu1228/20140326 http://lxr.linux.no/linux+v3.13.5/arch/x86/kernel/acpi/boot.c#L1094 Submitted by: syuu PR: 187966
Diffstat (limited to 'sys/x86')
-rw-r--r--sys/x86/acpica/madt.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/sys/x86/acpica/madt.c b/sys/x86/acpica/madt.c
index 41237ff..ef36276 100644
--- a/sys/x86/acpica/madt.c
+++ b/sys/x86/acpica/madt.c
@@ -306,10 +306,11 @@ interrupt_polarity(UINT16 IntiFlags, UINT8 Source)
case ACPI_MADT_POLARITY_ACTIVE_HIGH:
return (INTR_POLARITY_HIGH);
case ACPI_MADT_POLARITY_ACTIVE_LOW:
- return (INTR_POLARITY_LOW);
+ break;
default:
- panic("Bogus Interrupt Polarity");
+ printf("WARNING: Bogus Interrupt Polarity. Assume POLALITY LOW");
}
+ return (INTR_POLARITY_LOW);
}
static enum intr_trigger
@@ -325,10 +326,13 @@ interrupt_trigger(UINT16 IntiFlags, UINT8 Source)
case ACPI_MADT_TRIGGER_EDGE:
return (INTR_TRIGGER_EDGE);
case ACPI_MADT_TRIGGER_LEVEL:
- return (INTR_TRIGGER_LEVEL);
+ break;
default:
- panic("Bogus Interrupt Trigger Mode");
+ printf("WARNING: Bogus Interrupt Trigger Mode. Assume Level trigger.");
+
+ break;
}
+ return (INTR_TRIGGER_LEVEL);
}
/*
OpenPOWER on IntegriCloud