summaryrefslogtreecommitdiffstats
path: root/sys/dev/ex
diff options
context:
space:
mode:
authormsmith <msmith@FreeBSD.org>1997-09-12 08:30:57 +0000
committermsmith <msmith@FreeBSD.org>1997-09-12 08:30:57 +0000
commit3502721d04fdc385ae5bf6621432fb0ddfd8841f (patch)
tree17ac9d5aa4d29cb1238e37dbcc30bddb5a671f65 /sys/dev/ex
parentaccee3da783be7c8fc88cb04d3decb6d8b17fbad (diff)
downloadFreeBSD-src-3502721d04fdc385ae5bf6621432fb0ddfd8841f.zip
FreeBSD-src-3502721d04fdc385ae5bf6621432fb0ddfd8841f.tar.gz
Support Intel EtherExpress Pro 10+
PR: kern/4335 Reviewed by: Stephen Roznowski (sjr@home.net)
Diffstat (limited to 'sys/dev/ex')
-rw-r--r--sys/dev/ex/if_ex.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/sys/dev/ex/if_ex.c b/sys/dev/ex/if_ex.c
index 725ece6..7635e0d 100644
--- a/sys/dev/ex/if_ex.c
+++ b/sys/dev/ex/if_ex.c
@@ -103,8 +103,8 @@ struct ex_softc {
static struct ex_softc ex_sc[NEX]; /* XXX would it be better to malloc(3) the memory? */
-static char irq2eemap[] = { -1, -1, 0, 1, -1, 2, -1, -1, -1, 0, 3, 4, -1, -1, -1, -1 };
-static u_char ee2irqmap[] = { 9, 3, 5, 10, 11, 0, 0, 0 };
+static char irq2eemap[] = { -1, -1, -1, 0, 1, 2, -1, 3, -1, 4, 5, 6, 7, -1, -1, -1 };
+static u_char ee2irqmap[] = { 3, 4, 5, 7, 9, 10, 11, 12 };
static int ex_probe __P((struct isa_device *));
static int ex_attach __P((struct isa_device *));
@@ -176,7 +176,7 @@ int ex_probe(struct isa_device *dev)
* Reset the card.
*/
outb(iobase + CMD_REG, Reset_CMD);
- DELAY(200);
+ DELAY(400);
/*
* Fill in several fields of the softc structure:
@@ -256,7 +256,13 @@ int ex_attach(struct isa_device *dev)
if_attach(ifp);
ether_ifattach(ifp);
- printf("ex%d: Intel EtherExpress Pro/10, address %6D, connector ", dev->id_unit, sc->arpcom.ac_enaddr, ":");
+ if (sc->arpcom.ac_enaddr[0] == 0x00 &&
+ sc->arpcom.ac_enaddr[1] == 0xA0 &&
+ sc->arpcom.ac_enaddr[2] == 0xC9) {
+ printf("ex%d: Intel EtherExpress Pro/10+, address %6D, connector ", dev->id_unit, sc->arpcom.ac_enaddr, ":");
+ } else {
+ printf("ex%d: Intel EtherExpress Pro/10, address %6D, connector ", dev->id_unit, sc->arpcom.ac_enaddr, ":");
+ }
switch(sc->connector) {
case Conn_TPE: printf("TPE\n"); break;
case Conn_BNC: printf("BNC\n"); break;
OpenPOWER on IntegriCloud