From 1ed2cb39e498622f727be5dc129cd5105d34200f Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Fri, 28 Sep 2007 13:27:24 +0000 Subject: Fix bridge removal. --- network/bridge.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'network') diff --git a/network/bridge.c b/network/bridge.c index 24f1bcc4..e481ca80 100644 --- a/network/bridge.c +++ b/network/bridge.c @@ -39,6 +39,7 @@ #include #include "bridge.h" +#include "common.h" static int bridge_socket = -1; static const char *gn_bridge; @@ -86,6 +87,10 @@ int bridge_remove(int id) int err; const char *name = bridge_get_name(id); + err = bnep_if_down(name); + if (err < 0) + return err; + err = ioctl(bridge_socket, SIOCBRDELBR, name); if (err < 0) return -errno; @@ -99,6 +104,9 @@ int bridge_add_interface(int id, const char *dev) int ifindex = if_nametoindex(dev); const char *name = bridge_get_name(id); + if (!name) + return -EINVAL; + if (ifindex == 0) return -ENODEV; -- cgit