summaryrefslogtreecommitdiffstats
path: root/bsd_eth_drivers/if_bge
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-10-20 13:31:10 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-10-20 13:31:10 +0000
commit11084a7e88d4d89e115046faf12bbc82063a172c (patch)
tree4266b3046e5634ef2d15af1ecc7f7f0be4b767c2 /bsd_eth_drivers/if_bge
parent2009-10-20 Chris Johns <chrisj@rtems.org> (diff)
downloadlibbsdport-11084a7e88d4d89e115046faf12bbc82063a172c.tar.bz2
2009-10-20 Joel Sherrill <joel.sherrill@OARcorp.com>
* if_bge/if_bge.c, libbsdport/alldrv.c: Add local changes (untested).
Diffstat (limited to 'bsd_eth_drivers/if_bge')
-rw-r--r--bsd_eth_drivers/if_bge/if_bge.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/bsd_eth_drivers/if_bge/if_bge.c b/bsd_eth_drivers/if_bge/if_bge.c
index 1281f29..654e1af 100644
--- a/bsd_eth_drivers/if_bge/if_bge.c
+++ b/bsd_eth_drivers/if_bge/if_bge.c
@@ -2712,6 +2712,13 @@ bge_attach(device_t dev)
ifp->if_capabilities |= IFCAP_POLLING;
#endif
+#ifdef __rtems__
+ taskqueue_create_fast("re_taskq", M_NOWAIT,
+ taskqueue_thread_enqueue, &taskqueue_fast);
+ taskqueue_start_threads(&taskqueue_fast, 1, PI_NET, "%s taskq",
+ device_get_nameunit(dev));
+#endif
+
/*
* 5700 B0 chips do not support checksumming correctly due
* to hardware bugs.
@@ -2820,7 +2827,10 @@ again:
/*
* Hookup IRQ last.
*/
-#if (__FreeBSD_version > 700030) || defined(__rtems__)
+#if defined(__rtems__)
+ error = bus_setup_intr(dev, sc->bge_irq, INTR_TYPE_NET | INTR_MPSAFE,
+ bge_intr, NULL, sc, &sc->bge_intrhand);
+#elif (__FreeBSD_version > 700030)
error = bus_setup_intr(dev, sc->bge_irq, INTR_TYPE_NET | INTR_MPSAFE,
NULL, bge_intr, sc, &sc->bge_intrhand);
#else