diff options
author | rodrigc <rodrigc@FreeBSD.org> | 2014-06-23 22:31:28 +0000 |
---|---|---|
committer | rodrigc <rodrigc@FreeBSD.org> | 2014-06-23 22:31:28 +0000 |
commit | 95d8d7a8ec83f0dcf13e036e4b46b53f7cc6a182 (patch) | |
tree | 8c8bf69722e8a87fdf678c238a1aed6c77be0b5d /sys/x86 | |
parent | f1ff231dbac5d2982001a60611cc0837baf2ba4d (diff) | |
download | FreeBSD-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.c | 12 |
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); } /* |