summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2005-01-28 06:35:39 +0000
committerWarner Losh <imp@FreeBSD.org>2005-01-28 06:35:39 +0000
commiteb71b55c32912d06f482f1c83da1269a23cba4b4 (patch)
tree931736df79336496458651a5f1b50d51d6665a90
parentad787127cf16f7dcedd57892f65e3c9767a0e47d (diff)
Notes
-rw-r--r--sys/dev/cs/if_cs.c3
-rw-r--r--sys/dev/cs/if_cs_pccard.c6
-rw-r--r--sys/dev/cs/if_csvar.h2
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; /* */