|
@@ -422,12 +422,14 @@ acpi_parse_int_src_ovr(struct acpi_subtable_header * header,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
- if (intsrc->source_irq == 0 && intsrc->global_irq == 2) {
|
|
|
+ if (intsrc->source_irq == 0) {
|
|
|
if (acpi_skip_timer_override) {
|
|
|
- printk(PREFIX "BIOS IRQ0 pin2 override ignored.\n");
|
|
|
+ printk(PREFIX "BIOS IRQ0 override ignored.\n");
|
|
|
return 0;
|
|
|
}
|
|
|
- if (acpi_fix_pin2_polarity && (intsrc->inti_flags & ACPI_MADT_POLARITY_MASK)) {
|
|
|
+
|
|
|
+ if ((intsrc->global_irq == 2) && acpi_fix_pin2_polarity
|
|
|
+ && (intsrc->inti_flags & ACPI_MADT_POLARITY_MASK)) {
|
|
|
intsrc->inti_flags &= ~ACPI_MADT_POLARITY_MASK;
|
|
|
printk(PREFIX "BIOS IRQ0 pin2 override: forcing polarity to high active.\n");
|
|
|
}
|
|
@@ -1334,7 +1336,7 @@ static int __init dmi_disable_acpi(const struct dmi_system_id *d)
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
- * Force ignoring BIOS IRQ0 pin2 override
|
|
|
+ * Force ignoring BIOS IRQ0 override
|
|
|
*/
|
|
|
static int __init dmi_ignore_irq0_timer_override(const struct dmi_system_id *d)
|
|
|
{
|
|
@@ -1344,7 +1346,7 @@ static int __init dmi_ignore_irq0_timer_override(const struct dmi_system_id *d)
|
|
|
*/
|
|
|
if (!acpi_skip_timer_override) {
|
|
|
WARN(1, KERN_ERR "ati_ixp4x0 quirk not complete.\n");
|
|
|
- pr_notice("%s detected: Ignoring BIOS IRQ0 pin2 override\n",
|
|
|
+ pr_notice("%s detected: Ignoring BIOS IRQ0 override\n",
|
|
|
d->ident);
|
|
|
acpi_skip_timer_override = 1;
|
|
|
}
|
|
@@ -1438,7 +1440,7 @@ static struct dmi_system_id __initdata acpi_dmi_table_late[] = {
|
|
|
* is enabled. This input is incorrectly designated the
|
|
|
* ISA IRQ 0 via an interrupt source override even though
|
|
|
* it is wired to the output of the master 8259A and INTIN0
|
|
|
- * is not connected at all. Force ignoring BIOS IRQ0 pin2
|
|
|
+ * is not connected at all. Force ignoring BIOS IRQ0
|
|
|
* override in that cases.
|
|
|
*/
|
|
|
{
|