net/core: dev_mc_sync_multiple calls wrong helper
authorJay Vosburgh <[email protected]>
Fri, 31 May 2013 11:57:29 +0000 (11:57 +0000)
committerDavid S. Miller <[email protected]>
Fri, 31 May 2013 23:56:56 +0000 (16:56 -0700)
The dev_mc_sync_multiple function is currently calling
__hw_addr_sync, and not __hw_addr_sync_multiple.  This will result in
addresses only being synced to the first device from the set.

Corrected by calling the _multiple variant.

Signed-off-by: Jay Vosburgh <[email protected]>
Reviewed-by: Vlad Yasevich <[email protected]>
Tested-by: Shawn Bohrer <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
net/core/dev_addr_lists.c

index 8e2c2ef8053d1892387b64854f18984f6a6f3f66..6cda4e2c2132e345f82e3cd0feaeaaa16fbd75e6 100644 (file)
@@ -801,7 +801,7 @@ int dev_mc_sync_multiple(struct net_device *to, struct net_device *from)
                return -EINVAL;
 
        netif_addr_lock_nested(to);
-       err = __hw_addr_sync(&to->mc, &from->mc, to->addr_len);
+       err = __hw_addr_sync_multiple(&to->mc, &from->mc, to->addr_len);
        if (!err)
                __dev_set_rx_mode(to);
        netif_addr_unlock(to);