diff options
| author | Warner Losh <imp@FreeBSD.org> | 2003-11-10 16:04:11 +0000 |
|---|---|---|
| committer | Warner Losh <imp@FreeBSD.org> | 2003-11-10 16:04:11 +0000 |
| commit | 9b41f0a787b0051a4af89874fdab6ae3d78e12f9 (patch) | |
| tree | 7daf816769cac94805af8790c2392345a6c1c987 /sys/dev/sn | |
| parent | 4c76854fad39a7e0d57cc503a8c3625742adbb3c (diff) | |
Notes
Diffstat (limited to 'sys/dev/sn')
| -rw-r--r-- | sys/dev/sn/if_sn.c | 18 | ||||
| -rw-r--r-- | sys/dev/sn/if_sn_isa.c | 5 |
2 files changed, 11 insertions, 12 deletions
diff --git a/sys/dev/sn/if_sn.c b/sys/dev/sn/if_sn.c index 49cd84321f4c..5d5c05c71667 100644 --- a/sys/dev/sn/if_sn.c +++ b/sys/dev/sn/if_sn.c @@ -165,6 +165,7 @@ sn_attach(device_t dev) int rev; uint16_t address; int j; + int err; sc->dev = dev; sn_activate(dev); @@ -234,6 +235,16 @@ sn_attach(device_t dev) bcopy(sc->arpcom.ac_enaddr, LLADDR(sdl), ETHER_ADDR_LEN); } + /* + * Activate the interrupt so we can get card interrupts. This + * needs to be done last so that we don't have/hold the lock + * during startup to avoid LORs in the network layer. + */ + if ((err = bus_setup_intr(dev, sc->irq_res, + INTR_TYPE_NET | INTR_MPSAFE, sn_intr, sc, &sc->intrhand)) != 0) { + sn_detach(dev); + return err; + } return 0; } @@ -1223,7 +1234,6 @@ int sn_activate(device_t dev) { struct sn_softc *sc = device_get_softc(dev); - int err; sc->port_rid = 0; sc->port_res = bus_alloc_resource(dev, SYS_RES_IOPORT, &sc->port_rid, @@ -1243,12 +1253,6 @@ sn_activate(device_t dev) sn_deactivate(dev); return ENOMEM; } - if ((err = bus_setup_intr(dev, sc->irq_res, - INTR_TYPE_NET | INTR_MPSAFE, sn_intr, sc, &sc->intrhand)) != 0) { - sn_deactivate(dev); - return err; - } - sc->bst = rman_get_bustag(sc->port_res); sc->bsh = rman_get_bushandle(sc->port_res); return (0); diff --git a/sys/dev/sn/if_sn_isa.c b/sys/dev/sn/if_sn_isa.c index a793be23f288..f88f3385d28b 100644 --- a/sys/dev/sn/if_sn_isa.c +++ b/sys/dev/sn/if_sn_isa.c @@ -10,11 +10,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Herb Peyerl. - * 4. The name of Herb Peyerl may not be used to endorse or promote products - * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
