diff options
author | 2013-05-31 11:57:29 +0000 | |
---|---|---|
committer | 2013-05-31 16:56:56 -0700 | |
commit | b190a50875b95e58ebe2b00ed3bf7f1d44961471 (patch) | |
tree | aec7043a3077c42ddaa6131fbaf39c03856e87fe /net/core/dev_addr_lists.c | |
parent | net/core: __hw_addr_sync_one / _multiple broken (diff) | |
download | linux-b190a50875b95e58ebe2b00ed3bf7f1d44961471.tar.gz linux-b190a50875b95e58ebe2b00ed3bf7f1d44961471.tar.bz2 linux-b190a50875b95e58ebe2b00ed3bf7f1d44961471.zip |
net/core: dev_mc_sync_multiple calls wrong helper
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 <fubar@us.ibm.com>
Reviewed-by: Vlad Yasevich <vyasevic@redhat.com>
Tested-by: Shawn Bohrer <sbohrer@rgmadvisors.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/dev_addr_lists.c')
-rw-r--r-- | net/core/dev_addr_lists.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/core/dev_addr_lists.c b/net/core/dev_addr_lists.c index 8e2c2ef8053d..6cda4e2c2132 100644 --- a/net/core/dev_addr_lists.c +++ b/net/core/dev_addr_lists.c @@ -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); |