diff options
Diffstat (limited to 'drivers/net/smc9194.c')
-rw-r--r-- | drivers/net/smc9194.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/smc9194.c b/drivers/net/smc9194.c index 41c3dddeab50..f9a960e7fc1f 100644 --- a/drivers/net/smc9194.c +++ b/drivers/net/smc9194.c | |||
@@ -434,18 +434,18 @@ static void smc_shutdown( int ioaddr ) | |||
434 | */ | 434 | */ |
435 | 435 | ||
436 | 436 | ||
437 | static void smc_setmulticast( int ioaddr, int count, struct dev_mc_list * addrs ) { | 437 | static void smc_setmulticast(int ioaddr, struct net_device *dev) |
438 | { | ||
438 | int i; | 439 | int i; |
439 | unsigned char multicast_table[ 8 ]; | 440 | unsigned char multicast_table[ 8 ]; |
440 | struct dev_mc_list * cur_addr; | 441 | struct dev_mc_list *cur_addr; |
441 | /* table for flipping the order of 3 bits */ | 442 | /* table for flipping the order of 3 bits */ |
442 | unsigned char invert3[] = { 0, 4, 2, 6, 1, 5, 3, 7 }; | 443 | unsigned char invert3[] = { 0, 4, 2, 6, 1, 5, 3, 7 }; |
443 | 444 | ||
444 | /* start with a table of all zeros: reject all */ | 445 | /* start with a table of all zeros: reject all */ |
445 | memset( multicast_table, 0, sizeof( multicast_table ) ); | 446 | memset( multicast_table, 0, sizeof( multicast_table ) ); |
446 | 447 | ||
447 | cur_addr = addrs; | 448 | netdev_for_each_mc_addr(cur_addr, dev) { |
448 | for ( i = 0; i < count ; i ++, cur_addr = cur_addr->next ) { | ||
449 | int position; | 449 | int position; |
450 | 450 | ||
451 | /* do we have a pointer here? */ | 451 | /* do we have a pointer here? */ |
@@ -1550,7 +1550,7 @@ static void smc_set_multicast_list(struct net_device *dev) | |||
1550 | ioaddr + RCR ); | 1550 | ioaddr + RCR ); |
1551 | /* NOTE: this has to set the bank, so make sure it is the | 1551 | /* NOTE: this has to set the bank, so make sure it is the |
1552 | last thing called. The bank is set to zero at the top */ | 1552 | last thing called. The bank is set to zero at the top */ |
1553 | smc_setmulticast(ioaddr, netdev_mc_count(dev), dev->mc_list); | 1553 | smc_setmulticast(ioaddr, dev); |
1554 | } | 1554 | } |
1555 | else { | 1555 | else { |
1556 | outw( inw( ioaddr + RCR ) & ~(RCR_PROMISC | RCR_ALMUL), | 1556 | outw( inw( ioaddr + RCR ) & ~(RCR_PROMISC | RCR_ALMUL), |