diff options
author | Warner Losh <imp@FreeBSD.org> | 2005-01-28 06:35:39 +0000 |
---|---|---|
committer | Warner Losh <imp@FreeBSD.org> | 2005-01-28 06:35:39 +0000 |
commit | eb71b55c32912d06f482f1c83da1269a23cba4b4 (patch) | |
tree | 931736df79336496458651a5f1b50d51d6665a90 | |
parent | ad787127cf16f7dcedd57892f65e3c9767a0e47d (diff) |
Notes
-rw-r--r-- | sys/dev/cs/if_cs.c | 3 | ||||
-rw-r--r-- | sys/dev/cs/if_cs_pccard.c | 6 | ||||
-rw-r--r-- | sys/dev/cs/if_csvar.h | 2 |
3 files changed, 8 insertions, 3 deletions
diff --git a/sys/dev/cs/if_cs.c b/sys/dev/cs/if_cs.c index 4c501ad59aaa..e700cd4809f5 100644 --- a/sys/dev/cs/if_cs.c +++ b/sys/dev/cs/if_cs.c @@ -467,7 +467,8 @@ cs_cs89x0_probe(device_t dev) } if (!error) { - cs_writereg(sc, pp_isaint, irq); + if (!(sc->flags & CS_NO_IRQ)) + cs_writereg(sc, pp_isaint, irq); } else { device_printf(dev, "Unknown or invalid irq\n"); return (ENXIO); diff --git a/sys/dev/cs/if_cs_pccard.c b/sys/dev/cs/if_cs_pccard.c index 29c6d7a85095..fad2a6f4a534 100644 --- a/sys/dev/cs/if_cs_pccard.c +++ b/sys/dev/cs/if_cs_pccard.c @@ -80,11 +80,13 @@ cs_pccard_match(device_t dev) static int cs_pccard_probe(device_t dev) { + struct cs_softc *sc = device_get_softc(dev); int error; + sc->flags |= CS_NO_IRQ; error = cs_cs89x0_probe(dev); - cs_release_resources(dev); - return (error); + cs_release_resources(dev); + return (error); } static int diff --git a/sys/dev/cs/if_csvar.h b/sys/dev/cs/if_csvar.h index 2e2991a118e9..ba1070e760d6 100644 --- a/sys/dev/cs/if_csvar.h +++ b/sys/dev/cs/if_csvar.h @@ -57,6 +57,8 @@ struct cs_softc { struct resource* irq_res; /* resource for irq */ void* irq_handle; /* handle for irq handler */ + int flags; +#define CS_NO_IRQ 0x1 int nic_addr; /* Base IO address of card */ int send_cmd; int line_ctl; /* */ |