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
This commit is contained in:
rodrigc 2014-06-23 22:37:49 +00:00
parent 360ded2657
commit 8d5996c444

View File

@ -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);
}
/*