--- eisa_machdep_rev_1_37.c 2013-06-04 12:45:55.000000000 +0200 +++ eisa_machdep.c 2013-06-04 14:03:59.000000000 +0200 @@ -106,7 +106,7 @@ eisa_attach_hook(device_t parent, device_t self, struct eisabus_attach_args *eba) { - extern int eisa_has_been_seen; + extern int eisa_has_been_seen; /* * Notify others that might need to know that the EISA bus @@ -176,7 +176,6 @@ snprintf(irqstr, sizeof(irqstr), "irq %d", ih); #endif return (irqstr); - } const struct evcnt * @@ -193,18 +192,22 @@ { int pin, irq; struct pic *pic; +#if NIOAPIC > 0 + struct ioapic_softc *ioapic; +#endif pic = &i8259_pic; pin = irq = ih; #if NIOAPIC > 0 if (ih & APIC_INT_VIA_APIC) { - pic = (struct pic *)ioapic_find(APIC_IRQ_APIC(ih)); - if (pic == NULL) { - aprint_error("eisa_intr_establish: bad ioapic %d\n", + ioapic = ioapic_find(APIC_IRQ_APIC(ih)); + if (ioapic == NULL) { + aprint_normal("eisa_intr_establish: bad ioapic %d\n", APIC_IRQ_APIC(ih)); return NULL; } + pic = &ioapic->sc_pic; pin = APIC_IRQ_PIN(ih); irq = APIC_IRQ_LEGACY_IRQ(ih); if (irq < 0 || irq >= NUM_LEGACY_IRQS)