aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ibmlana.c
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/ibmlana.c
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/ibmlana.c')
-rw-r--r--drivers/net/ibmlana.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/ibmlana.c b/drivers/net/ibmlana.c
index b5d0f4e973f7..76949e08ee84 100644
--- a/drivers/net/ibmlana.c
+++ b/drivers/net/ibmlana.c
@@ -385,7 +385,7 @@ static void InitBoard(struct net_device *dev)
385 int camcnt; 385 int camcnt;
386 camentry_t cams[16]; 386 camentry_t cams[16];
387 u32 cammask; 387 u32 cammask;
388 struct dev_mc_list *mcptr; 388 struct netdev_hw_addr *ha;
389 u16 rcrval; 389 u16 rcrval;
390 390
391 /* reset the SONIC */ 391 /* reset the SONIC */
@@ -420,8 +420,8 @@ static void InitBoard(struct net_device *dev)
420 /* start putting the multicast addresses into the CAM list. Stop if 420 /* start putting the multicast addresses into the CAM list. Stop if
421 it is full. */ 421 it is full. */
422 422
423 netdev_for_each_mc_addr(mcptr, dev) { 423 netdev_for_each_mc_addr(ha, dev) {
424 putcam(cams, &camcnt, mcptr->dmi_addr); 424 putcam(cams, &camcnt, ha->addr);
425 if (camcnt == 16) 425 if (camcnt == 16)
426 break; 426 break;
427 } 427 }
@@ -479,7 +479,7 @@ static void InitBoard(struct net_device *dev)
479 /* if still multicast addresses left or ALLMULTI is set, set the multicast 479 /* if still multicast addresses left or ALLMULTI is set, set the multicast
480 enable bit */ 480 enable bit */
481 481
482 if ((dev->flags & IFF_ALLMULTI) || (mcptr != NULL)) 482 if ((dev->flags & IFF_ALLMULTI) || netdev_mc_count(dev) > camcnt)
483 rcrval |= RCREG_AMC; 483 rcrval |= RCREG_AMC;
484 484
485 /* promiscous mode ? */ 485 /* promiscous mode ? */