diff options
| author | cegger <cegger@NetBSD.org> | 2009-04-28 11:47:56 +0000 |
|---|---|---|
| committer | cegger <cegger@NetBSD.org> | 2009-04-28 11:47:56 +0000 |
| commit | 9bb7df81f0cf7bfdbd54dd4220084237a8e8da69 (patch) | |
| tree | 75f62fdd044dad216536aa3f77879693f51fd5aa /sys | |
| parent | 50010e742d7715992428e391d175087da72c3fcf (diff) | |
on detach, deregister from pmf and free resource
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/dev/pci/if_age.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/dev/pci/if_age.c b/sys/dev/pci/if_age.c index 0cc6b980866..2eee0706c48 100644 --- a/sys/dev/pci/if_age.c +++ b/sys/dev/pci/if_age.c @@ -1,4 +1,4 @@ -/* $NetBSD: if_age.c,v 1.27 2009/04/26 07:01:29 cegger Exp $ */ +/* $NetBSD: if_age.c,v 1.28 2009/04/28 11:47:56 cegger Exp $ */ /* $OpenBSD: if_age.c,v 1.1 2009/01/16 05:00:34 kevlo Exp $ */ /*- @@ -31,7 +31,7 @@ /* Driver for Attansic Technology Corp. L1 Gigabit Ethernet. */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_age.c,v 1.27 2009/04/26 07:01:29 cegger Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_age.c,v 1.28 2009/04/28 11:47:56 cegger Exp $"); #include "bpfilter.h" #include "vlan.h" @@ -314,6 +314,7 @@ age_detach(device_t self, int flags) struct ifnet *ifp = &sc->sc_ec.ec_if; int s; + pmf_device_deregister(self); s = splnet(); age_stop(ifp, 0); splx(s); @@ -331,7 +332,10 @@ age_detach(device_t self, int flags) pci_intr_disestablish(sc->sc_pct, sc->sc_irq_handle); sc->sc_irq_handle = NULL; } - + if (sc->sc_mem_size) { + bus_space_unmap(sc->sc_mem_bt, sc->sc_mem_bh, sc->sc_mem_size); + sc->sc_mem_size = 0; + } return 0; } |
