aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/myri10ge
diff options
context:
space:
mode:
authorJiri Pirko <jpirko@redhat.com>2010-04-01 17:22:57 -0400
committerDavid S. Miller <davem@davemloft.net>2010-04-03 17:22:15 -0400
commit22bedad3ce112d5ca1eaf043d4990fa2ed698c87 (patch)
treeb6fba5688d48b1396f01d13ee53610dea7749c15 /drivers/net/myri10ge
parenta748ee2426817a95b1f03012d8f339c45c722ae1 (diff)
net: convert multicast list to list_head
Converts the list and the core manipulating with it to be the same as uc_list. +uses two functions for adding/removing mc address (normal and "global" variant) instead of a function parameter. +removes dev_mcast.c completely. +exposes netdev_hw_addr_list_* macros along with __hw_addr_* functions for manipulation with lists on a sandbox (used in bonding and 80211 drivers) Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/myri10ge')
-rw-r--r--drivers/net/myri10ge/myri10ge.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
index e84dd3ee9c5a..6d33adf988dc 100644
--- a/drivers/net/myri10ge/myri10ge.c
+++ b/drivers/net/myri10ge/myri10ge.c
@@ -3001,7 +3001,7 @@ static void myri10ge_set_multicast_list(struct net_device *dev)
3001{ 3001{
3002 struct myri10ge_priv *mgp = netdev_priv(dev); 3002 struct myri10ge_priv *mgp = netdev_priv(dev);
3003 struct myri10ge_cmd cmd; 3003 struct myri10ge_cmd cmd;
3004 struct dev_mc_list *mc_list; 3004 struct netdev_hw_addr *ha;
3005 __be32 data[2] = { 0, 0 }; 3005 __be32 data[2] = { 0, 0 };
3006 int err; 3006 int err;
3007 3007
@@ -3038,8 +3038,8 @@ static void myri10ge_set_multicast_list(struct net_device *dev)
3038 } 3038 }
3039 3039
3040 /* Walk the multicast list, and add each address */ 3040 /* Walk the multicast list, and add each address */
3041 netdev_for_each_mc_addr(mc_list, dev) { 3041 netdev_for_each_mc_addr(ha, dev) {
3042 memcpy(data, &mc_list->dmi_addr, 6); 3042 memcpy(data, &ha->addr, 6);
3043 cmd.data0 = ntohl(data[0]); 3043 cmd.data0 = ntohl(data[0]);
3044 cmd.data1 = ntohl(data[1]); 3044 cmd.data1 = ntohl(data[1]);
3045 err = myri10ge_send_cmd(mgp, MXGEFW_JOIN_MULTICAST_GROUP, 3045 err = myri10ge_send_cmd(mgp, MXGEFW_JOIN_MULTICAST_GROUP,
@@ -3047,7 +3047,7 @@ static void myri10ge_set_multicast_list(struct net_device *dev)
3047 3047
3048 if (err != 0) { 3048 if (err != 0) {
3049 netdev_err(dev, "Failed MXGEFW_JOIN_MULTICAST_GROUP, error status:%d %pM\n", 3049 netdev_err(dev, "Failed MXGEFW_JOIN_MULTICAST_GROUP, error status:%d %pM\n",
3050 err, mc_list->dmi_addr); 3050 err, ha->addr);
3051 goto abort; 3051 goto abort;
3052 } 3052 }
3053 } 3053 }