diff options
| author | Warner Losh <imp@FreeBSD.org> | 2004-11-21 16:25:21 +0000 |
|---|---|---|
| committer | Warner Losh <imp@FreeBSD.org> | 2004-11-21 16:25:21 +0000 |
| commit | 4b87c653f91b8ad27447e744ba53cb788f952faf (patch) | |
| tree | 8f2a30e404754fb5d15f37364ebfb4a91af4532a | |
| parent | ea54c3694c27887b44a45af17d89bdfc5ea76441 (diff) | |
Notes
| -rw-r--r-- | sys/dev/fdc/fdc.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/dev/fdc/fdc.c b/sys/dev/fdc/fdc.c index a2193f048d6b..5846b0aa4463 100644 --- a/sys/dev/fdc/fdc.c +++ b/sys/dev/fdc/fdc.c @@ -1957,6 +1957,11 @@ fd_detach(device_t dev) struct fd_data *fd; fd = device_get_softc(dev); + g_topology_lock(); + g_wither_geom(fd->fd_geom, ENXIO); + g_topology_unlock(); + while (device_get_state(dev) == DS_BUSY) + tsleep(fd, PZERO, "fdd", hz/10); callout_drain(&fd->toffhandle); return (0); |
