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 7d6cf3340c11..294ccfb427cf 100644
--- a/drivers/net/ibmlana.c
+++ b/drivers/net/ibmlana.c
@@ -384,7 +384,7 @@ static void InitBoard(struct net_device *dev)
384 int camcnt; 384 int camcnt;
385 camentry_t cams[16]; 385 camentry_t cams[16];
386 u32 cammask; 386 u32 cammask;
387 struct dev_mc_list *mcptr; 387 struct netdev_hw_addr *ha;
388 u16 rcrval; 388 u16 rcrval;
389 389
390 /* reset the SONIC */ 390 /* reset the SONIC */
@@ -419,8 +419,8 @@ static void InitBoard(struct net_device *dev)
419 /* start putting the multicast addresses into the CAM list. Stop if 419 /* start putting the multicast addresses into the CAM list. Stop if
420 it is full. */ 420 it is full. */
421 421
422 netdev_for_each_mc_addr(mcptr, dev) { 422 netdev_for_each_mc_addr(ha, dev) {
423 putcam(cams, &camcnt, mcptr->dmi_addr); 423 putcam(cams, &camcnt, ha->addr);
424 if (camcnt == 16) 424 if (camcnt == 16)
425 break; 425 break;
426 } 426 }
@@ -478,7 +478,7 @@ static void InitBoard(struct net_device *dev)
478 /* if still multicast addresses left or ALLMULTI is set, set the multicast 478 /* if still multicast addresses left or ALLMULTI is set, set the multicast
479 enable bit */ 479 enable bit */
480 480
481 if ((dev->flags & IFF_ALLMULTI) || (mcptr != NULL)) 481 if ((dev->flags & IFF_ALLMULTI) || netdev_mc_count(dev) > camcnt)
482 rcrval |= RCREG_AMC; 482 rcrval |= RCREG_AMC;
483 483
484 /* promiscous mode ? */ 484 /* promiscous mode ? */