aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2006-12-01 14:41:08 -0500
committerJeff Garzik <jeff@garzik.org>2006-12-02 00:22:29 -0500
commit758140900a82e3ed3bb2be1d4705dd352fe44825 (patch)
tree00c1c439223f7b00dcbbca0bc5f47d61ac48d706
parentf789dfdc44d5bbc04fb7f06e1e4eb682169acaaf (diff)
[PATCH] skge: don't clear MC state on link down
I would rather fix Andy's problem by not clearing multicast information on link down. Also, add code to restore multicast state after ethtool phy reset. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r--drivers/net/skge.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/skge.c b/drivers/net/skge.c
index b2949035f66a..010fc6541122 100644
--- a/drivers/net/skge.c
+++ b/drivers/net/skge.c
@@ -2154,8 +2154,6 @@ static void yukon_link_down(struct skge_port *skge)
2154 int port = skge->port; 2154 int port = skge->port;
2155 u16 ctrl; 2155 u16 ctrl;
2156 2156
2157 gm_phy_write(hw, port, PHY_MARV_INT_MASK, 0);
2158
2159 ctrl = gma_read16(hw, port, GM_GP_CTRL); 2157 ctrl = gma_read16(hw, port, GM_GP_CTRL);
2160 ctrl &= ~(GM_GPCR_RX_ENA | GM_GPCR_TX_ENA); 2158 ctrl &= ~(GM_GPCR_RX_ENA | GM_GPCR_TX_ENA);
2161 gma_write16(hw, port, GM_GP_CTRL, ctrl); 2159 gma_write16(hw, port, GM_GP_CTRL, ctrl);
@@ -2167,7 +2165,6 @@ static void yukon_link_down(struct skge_port *skge)
2167 gm_phy_write(hw, port, PHY_MARV_AUNE_ADV, ctrl); 2165 gm_phy_write(hw, port, PHY_MARV_AUNE_ADV, ctrl);
2168 } 2166 }
2169 2167
2170 yukon_reset(hw, port);
2171 skge_link_down(skge); 2168 skge_link_down(skge);
2172 2169
2173 yukon_init(hw, port); 2170 yukon_init(hw, port);
@@ -2268,6 +2265,8 @@ static void skge_phy_reset(struct skge_port *skge)
2268 yukon_init(hw, port); 2265 yukon_init(hw, port);
2269 } 2266 }
2270 mutex_unlock(&hw->phy_mutex); 2267 mutex_unlock(&hw->phy_mutex);
2268
2269 dev->set_multicast_list(dev);
2271} 2270}
2272 2271
2273/* Basic MII support */ 2272/* Basic MII support */