* [PATCH] sky2: restore multicast list on resume and other ops
[not found] <200708312010.38276.timo@tiwe.de>
@ 2007-09-05 15:56 ` Stephen Hemminger
2007-09-13 4:02 ` Jeff Garzik
0 siblings, 1 reply; 2+ messages in thread
From: Stephen Hemminger @ 2007-09-05 15:56 UTC (permalink / raw)
To: Timo Weingärtner, Jeff Garzik; +Cc: netdev, akpm
Need to restore multicast settings on resume and after 'ethtool -r'.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
--- a/drivers/net/sky2.c 2007-09-05 13:57:22.000000000 +0100
+++ b/drivers/net/sky2.c 2007-09-05 13:57:24.000000000 +0100
@@ -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)
{
@@ -2900,8 +2902,10 @@ static int sky2_set_settings(struct net_
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;
}
@@ -2994,6 +2998,7 @@ static int sky2_nway_reset(struct net_de
return -EINVAL;
sky2_phy_reinit(sky2);
+ sky2_set_multicast(dev);
return 0;
}
@@ -4171,6 +4176,8 @@ static int sky2_resume(struct pci_dev *p
dev_close(dev);
goto out;
}
+
+ sky2_set_multicast(dev);
}
}
^ permalink raw reply [flat|nested] 2+ messages in thread