diff options
author | imp <imp@FreeBSD.org> | 2008-08-24 00:22:42 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2008-08-24 00:22:42 +0000 |
commit | 8c6bf65efbf38efe8d5cc1374c205c11c465fefd (patch) | |
tree | 6cd32ea90ef14a7002e10c3aa33e89e5dee9c76b /sys/dev/ex/if_ex_isa.c | |
parent | a3baa9b359d9394b6e40604fc1d752b93ccd7394 (diff) | |
download | FreeBSD-src-8c6bf65efbf38efe8d5cc1374c205c11c465fefd.zip FreeBSD-src-8c6bf65efbf38efe8d5cc1374c205c11c465fefd.tar.gz |
Some PC Card variants of the 82365 don't seem to like setting the IRQ
number in the irq register. While there are other issues with these
variants, avoiding writing to it helps interrupt generation on at
least one card, and doesn't hurt on the others. Flag ISA attachment
as needing INT_NO_REG written, and don't update the PC Card attachment
(which will have the effect of not touching it for PC Cards).
Document this in a comment, and tweak one or two formatting nits while
I'm here.
Diffstat (limited to 'sys/dev/ex/if_ex_isa.c')
-rw-r--r-- | sys/dev/ex/if_ex_isa.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/dev/ex/if_ex_isa.c b/sys/dev/ex/if_ex_isa.c index 31b00a3..02d4a75 100644 --- a/sys/dev/ex/if_ex_isa.c +++ b/sys/dev/ex/if_ex_isa.c @@ -247,12 +247,11 @@ ex_isa_probe(device_t dev) tmp = ex_eeprom_read(sc, EE_W1) & EE_W1_INT_SEL; irq = bus_get_resource_start(dev, SYS_RES_IRQ, 0); - if (irq > 0) { /* This will happen if board is in PnP mode. */ if (ee2irq[tmp] != irq) { - printf("ex: WARNING: board's EEPROM is configured" - " for IRQ %d, using %d\n", + device_printf(dev, + "WARNING: IRQ mismatch: EEPROM %d, using %d\n", ee2irq[tmp], irq); } } else { @@ -267,7 +266,7 @@ ex_isa_probe(device_t dev) bad:; ex_release_resources(dev); - return(error); + return (error); } static int @@ -280,6 +279,7 @@ ex_isa_attach(device_t dev) sc->dev = dev; sc->ioport_rid = 0; sc->irq_rid = 0; + sc->flags |= HAS_INT_NO_REG; if ((error = ex_alloc_resources(dev)) != 0) { device_printf(dev, "ex_alloc_resources() failed!\n"); |