diff options
author | yongari <yongari@FreeBSD.org> | 2013-01-24 04:54:53 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2013-01-24 04:54:53 +0000 |
commit | 6563e85d8867406e28f9d35a257a3d1e20c8d0aa (patch) | |
tree | bbf88bb19f4b1f20c6dc59f87c3ef9832f045b3b /sys/dev | |
parent | caba48e7e72b82e8d54be2e55f5f0ed1862e0287 (diff) | |
download | FreeBSD-src-6563e85d8867406e28f9d35a257a3d1e20c8d0aa.zip FreeBSD-src-6563e85d8867406e28f9d35a257a3d1e20c8d0aa.tar.gz |
bge_attach() can fail before attaching mii(4). So make sure to check
bge_miibus before detaching mii(4).
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/bge/if_bge.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c index d5dc6d8..33cf4cb 100644 --- a/sys/dev/bge/if_bge.c +++ b/sys/dev/bge/if_bge.c @@ -3899,9 +3899,9 @@ bge_detach(device_t dev) if (sc->bge_tq) taskqueue_drain(sc->bge_tq, &sc->bge_intr_task); - if (sc->bge_flags & BGE_FLAG_TBI) { + if (sc->bge_flags & BGE_FLAG_TBI) ifmedia_removeall(&sc->bge_ifmedia); - } else { + else if (sc->bge_miibus != NULL) { bus_generic_detach(dev); device_delete_child(dev, sc->bge_miibus); } |