From: Sepherosa Ziehau Date: Sat, 28 Oct 2006 12:28:25 +0000 (+0000) Subject: Bug fixing: X-Git-Tag: v2.0.1~4191 X-Git-Url: https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff_plain/cbf32d7ebf61bf267b1f23588d3a77ef54e2327b Bug fixing: device_delete_child() is called unconditionally in bge_detach(), due to the ';' after 'if()'. It is dangerous here, since bge_detach() serves as failure cleanup routine too. --- diff --git a/sys/dev/netif/bge/if_bge.c b/sys/dev/netif/bge/if_bge.c index ac79ff1103..caf606cb12 100644 --- a/sys/dev/netif/bge/if_bge.c +++ b/sys/dev/netif/bge/if_bge.c @@ -31,7 +31,7 @@ * THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/dev/bge/if_bge.c,v 1.3.2.29 2003/12/01 21:06:59 ambrisko Exp $ - * $DragonFly: src/sys/dev/netif/bge/if_bge.c,v 1.56 2006/10/25 20:55:56 dillon Exp $ + * $DragonFly: src/sys/dev/netif/bge/if_bge.c,v 1.57 2006/10/28 12:28:25 sephe Exp $ * */ @@ -1773,7 +1773,7 @@ bge_detach(device_t dev) } if (sc->bge_tbi) ifmedia_removeall(&sc->bge_ifmedia); - if (sc->bge_miibus); + if (sc->bge_miibus) device_delete_child(dev, sc->bge_miibus); bus_generic_detach(dev);