summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrodrigc <rodrigc@FreeBSD.org>2014-06-23 22:37:49 +0000
committerrodrigc <rodrigc@FreeBSD.org>2014-06-23 22:37:49 +0000
commit8d5996c444fb11052d450b9c2f0507195874a564 (patch)
treee19c2558df4564dfeb331f31cf3e92e116ab977e
parent360ded26576497de493c3acb4a118c97502aa2fa (diff)
downloadFreeBSD-src-8d5996c444fb11052d450b9c2f0507195874a564.zip
FreeBSD-src-8d5996c444fb11052d450b9c2f0507195874a564.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
-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