Explorar o código

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>
Jay Vosburgh %!s(int64=12) %!d(string=hai) anos
pai
achega
b190a50875
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      net/core/dev_addr_lists.c

+ 1 - 1
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;
 		return -EINVAL;
 
 
 	netif_addr_lock_nested(to);
 	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)
 	if (!err)
 		__dev_set_rx_mode(to);
 		__dev_set_rx_mode(to);
 	netif_addr_unlock(to);
 	netif_addr_unlock(to);