diff options
Diffstat (limited to 'drivers/net/ibmlana.c')
-rw-r--r-- | drivers/net/ibmlana.c | 8 |
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 ? */ |