aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ibmlana.c
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2010-04-20 10:02:01 -0400
committerPatrick McHardy <kaber@trash.net>2010-04-20 10:02:01 -0400
commit62910554656cdcd6b6f84a5154c4155aae4ca231 (patch)
treedcf14004f6fd2ef7154362ff948bfeba0f3ea92d /drivers/net/ibmlana.c
parent22265a5c3c103cf8c50be62e6c90d045eb649e6d (diff)
parentab9304717f7624c41927f442e6b6d418b2d8b3e4 (diff)
Merge branch 'master' of /repos/git/net-next-2.6
Conflicts: Documentation/feature-removal-schedule.txt net/ipv6/netfilter/ip6t_REJECT.c net/netfilter/xt_limit.c Signed-off-by: Patrick McHardy <kaber@trash.net>
Diffstat (limited to 'drivers/net/ibmlana.c')
-rw-r--r--drivers/net/ibmlana.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/net/ibmlana.c b/drivers/net/ibmlana.c
index b5d0f4e973f7..294ccfb427cf 100644
--- a/drivers/net/ibmlana.c
+++ b/drivers/net/ibmlana.c
@@ -79,7 +79,6 @@ History:
79#include <linux/string.h> 79#include <linux/string.h>
80#include <linux/errno.h> 80#include <linux/errno.h>
81#include <linux/ioport.h> 81#include <linux/ioport.h>
82#include <linux/slab.h>
83#include <linux/interrupt.h> 82#include <linux/interrupt.h>
84#include <linux/delay.h> 83#include <linux/delay.h>
85#include <linux/time.h> 84#include <linux/time.h>
@@ -385,7 +384,7 @@ static void InitBoard(struct net_device *dev)
385 int camcnt; 384 int camcnt;
386 camentry_t cams[16]; 385 camentry_t cams[16];
387 u32 cammask; 386 u32 cammask;
388 struct dev_mc_list *mcptr; 387 struct netdev_hw_addr *ha;
389 u16 rcrval; 388 u16 rcrval;
390 389
391 /* reset the SONIC */ 390 /* reset the SONIC */
@@ -420,8 +419,8 @@ static void InitBoard(struct net_device *dev)
420 /* start putting the multicast addresses into the CAM list. Stop if 419 /* start putting the multicast addresses into the CAM list. Stop if
421 it is full. */ 420 it is full. */
422 421
423 netdev_for_each_mc_addr(mcptr, dev) { 422 netdev_for_each_mc_addr(ha, dev) {
424 putcam(cams, &camcnt, mcptr->dmi_addr); 423 putcam(cams, &camcnt, ha->addr);
425 if (camcnt == 16) 424 if (camcnt == 16)
426 break; 425 break;
427 } 426 }
@@ -479,7 +478,7 @@ static void InitBoard(struct net_device *dev)
479 /* 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
480 enable bit */ 479 enable bit */
481 480
482 if ((dev->flags & IFF_ALLMULTI) || (mcptr != NULL)) 481 if ((dev->flags & IFF_ALLMULTI) || netdev_mc_count(dev) > camcnt)
483 rcrval |= RCREG_AMC; 482 rcrval |= RCREG_AMC;
484 483
485 /* promiscous mode ? */ 484 /* promiscous mode ? */