diff options
Diffstat (limited to 'drivers/net/sky2.c')
-rw-r--r-- | drivers/net/sky2.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index d1e98e2170ce..653bdd76ef46 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c | |||
@@ -3621,7 +3621,7 @@ static void sky2_set_multicast(struct net_device *dev) | |||
3621 | struct sky2_port *sky2 = netdev_priv(dev); | 3621 | struct sky2_port *sky2 = netdev_priv(dev); |
3622 | struct sky2_hw *hw = sky2->hw; | 3622 | struct sky2_hw *hw = sky2->hw; |
3623 | unsigned port = sky2->port; | 3623 | unsigned port = sky2->port; |
3624 | struct dev_mc_list *list = dev->mc_list; | 3624 | struct dev_mc_list *list; |
3625 | u16 reg; | 3625 | u16 reg; |
3626 | u8 filter[8]; | 3626 | u8 filter[8]; |
3627 | int rx_pause; | 3627 | int rx_pause; |
@@ -3640,13 +3640,12 @@ static void sky2_set_multicast(struct net_device *dev) | |||
3640 | else if (netdev_mc_empty(dev) && !rx_pause) | 3640 | else if (netdev_mc_empty(dev) && !rx_pause) |
3641 | reg &= ~GM_RXCR_MCF_ENA; | 3641 | reg &= ~GM_RXCR_MCF_ENA; |
3642 | else { | 3642 | else { |
3643 | int i; | ||
3644 | reg |= GM_RXCR_MCF_ENA; | 3643 | reg |= GM_RXCR_MCF_ENA; |
3645 | 3644 | ||
3646 | if (rx_pause) | 3645 | if (rx_pause) |
3647 | sky2_add_filter(filter, pause_mc_addr); | 3646 | sky2_add_filter(filter, pause_mc_addr); |
3648 | 3647 | ||
3649 | for (i = 0; list && i < netdev_mc_count(dev); i++, list = list->next) | 3648 | netdev_for_each_mc_addr(list, dev) |
3650 | sky2_add_filter(filter, list->dmi_addr); | 3649 | sky2_add_filter(filter, list->dmi_addr); |
3651 | } | 3650 | } |
3652 | 3651 | ||