aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ibmlana.c
diff options
context:
space:
mode:
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 ? */