diff options
author | Jiri Pirko <jpirko@redhat.com> | 2010-04-01 17:22:57 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-04-03 17:22:15 -0400 |
commit | 22bedad3ce112d5ca1eaf043d4990fa2ed698c87 (patch) | |
tree | b6fba5688d48b1396f01d13ee53610dea7749c15 /drivers/net/myri10ge | |
parent | a748ee2426817a95b1f03012d8f339c45c722ae1 (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.c | 8 |
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 | } |