diff options
Diffstat (limited to 'net/bridge/br_if.c')
| -rw-r--r-- | net/bridge/br_if.c | 8 | 
1 files changed, 5 insertions, 3 deletions
diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c index 1c8fdc3558c..37fe693471a 100644 --- a/net/bridge/br_if.c +++ b/net/bridge/br_if.c @@ -366,11 +366,11 @@ int br_add_if(struct net_bridge *br, struct net_device *dev)  	err = netdev_set_master(dev, br->dev);  	if (err) -		goto err3; +		goto err4;  	err = netdev_rx_handler_register(dev, br_handle_frame, p);  	if (err) -		goto err4; +		goto err5;  	dev->priv_flags |= IFF_BRIDGE_PORT; @@ -402,8 +402,10 @@ int br_add_if(struct net_bridge *br, struct net_device *dev)  	return 0; -err4: +err5:  	netdev_set_master(dev, NULL); +err4: +	br_netpoll_disable(p);  err3:  	sysfs_remove_link(br->ifobj, p->dev->name);  err2:  |