bridge: notifier called with the wrong device
stephen hemminger [Fri, 22 Jul 2011 07:47:08 +0000 (07:47 +0000)]
If a new device is added to a bridge, the ethernet address of the
bridge network device may change. When the address changes, the
appropriate callback is called, but with the wrong device argument.
The address of the bridge device (ie br0) changes not the address
of the device being passed to add_if (ie eth0).

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

net/bridge/br_if.c

index 1bacca4..3176e2e 100644 (file)
@@ -388,7 +388,7 @@ int br_add_if(struct net_bridge *br, struct net_device *dev)
        br_ifinfo_notify(RTM_NEWLINK, p);
 
        if (changed_addr)
-               call_netdevice_notifiers(NETDEV_CHANGEADDR, dev);
+               call_netdevice_notifiers(NETDEV_CHANGEADDR, br->dev);
 
        dev_set_mtu(br->dev, br_min_mtu(br));