summaryrefslogtreecommitdiff
path: root/sys/dev/ed
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>1999-12-01 07:38:54 +0000
committerWarner Losh <imp@FreeBSD.org>1999-12-01 07:38:54 +0000
commite09f49b6fa071877ce25bafffe0d8859d53b6670 (patch)
tree812eb9310c87d1710584e4f47f5c4cbd9f23ee6b /sys/dev/ed
parent226420a46464f4d32af2086975d2c66bdd44f489 (diff)
Notes
Diffstat (limited to 'sys/dev/ed')
-rw-r--r--sys/dev/ed/if_ed_pccard.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/dev/ed/if_ed_pccard.c b/sys/dev/ed/if_ed_pccard.c
index df47ae56cc8e..549a9a343c65 100644
--- a/sys/dev/ed/if_ed_pccard.c
+++ b/sys/dev/ed/if_ed_pccard.c
@@ -48,7 +48,7 @@
*/
static int ed_pccard_probe(device_t);
static int ed_pccard_attach(device_t);
-static void ed_pccard_detach(device_t);
+static int ed_pccard_detach(device_t);
static device_method_t ed_pccard_methods[] = {
/* Device interface */
@@ -78,7 +78,7 @@ DRIVER_MODULE(ed, pccard, ed_pccard_driver, ed_pccard_devclass, 0, 0);
* and ensure that any driver entry points such as
* read and write do not hang.
*/
-static void
+static int
ed_pccard_detach(device_t dev)
{
struct ed_softc *sc = device_get_softc(dev);
@@ -86,13 +86,14 @@ ed_pccard_detach(device_t dev)
if (sc->gone) {
device_printf(dev, "already unloaded\n");
- return;
+ return (0);
}
ifp->if_flags &= ~IFF_RUNNING;
- if_down(ifp);
+ if_detach(ifp);
bus_teardown_intr(dev, sc->irq_res, &sc->irq_handle);
sc->gone = 1;
device_printf(dev, "unload\n");
+ return (0);
}
/*