Skip to content

Commit

Permalink
sky2: restore multicast list on resume and other ops
Browse files Browse the repository at this point in the history
Need to restore multicast settings on resume and after 'ethtool -r'.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
  • Loading branch information
Stephen Hemminger authored and Jeff Garzik committed Sep 13, 2007
1 parent 5f08e46 commit d1b139c
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion drivers/net/sky2.c
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,8 @@ static const char *yukon2_name[] = {
"FE", /* 0xb7 */
};

static void sky2_set_multicast(struct net_device *dev);

/* Access to external PHY */
static int gm_phy_write(struct sky2_hw *hw, unsigned port, u16 reg, u16 val)
{
Expand Down Expand Up @@ -2900,8 +2902,10 @@ static int sky2_set_settings(struct net_device *dev, struct ethtool_cmd *ecmd)
sky2->autoneg = ecmd->autoneg;
sky2->advertising = ecmd->advertising;

if (netif_running(dev))
if (netif_running(dev)) {
sky2_phy_reinit(sky2);
sky2_set_multicast(dev);
}

return 0;
}
Expand Down Expand Up @@ -2994,6 +2998,7 @@ static int sky2_nway_reset(struct net_device *dev)
return -EINVAL;

sky2_phy_reinit(sky2);
sky2_set_multicast(dev);

return 0;
}
Expand Down Expand Up @@ -4171,6 +4176,8 @@ static int sky2_resume(struct pci_dev *pdev)
dev_close(dev);
goto out;
}

sky2_set_multicast(dev);
}
}

Expand Down

0 comments on commit d1b139c

Please sign in to comment.