aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/skge.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/skge.c')
-rw-r--r--drivers/net/skge.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/skge.c b/drivers/net/skge.c
index 3b67614372a7..b60f0451f6cd 100644
--- a/drivers/net/skge.c
+++ b/drivers/net/skge.c
@@ -2155,8 +2155,6 @@ static void yukon_link_down(struct skge_port *skge)
2155 int port = skge->port; 2155 int port = skge->port;
2156 u16 ctrl; 2156 u16 ctrl;
2157 2157
2158 gm_phy_write(hw, port, PHY_MARV_INT_MASK, 0);
2159
2160 ctrl = gma_read16(hw, port, GM_GP_CTRL); 2158 ctrl = gma_read16(hw, port, GM_GP_CTRL);
2161 ctrl &= ~(GM_GPCR_RX_ENA | GM_GPCR_TX_ENA); 2159 ctrl &= ~(GM_GPCR_RX_ENA | GM_GPCR_TX_ENA);
2162 gma_write16(hw, port, GM_GP_CTRL, ctrl); 2160 gma_write16(hw, port, GM_GP_CTRL, ctrl);
@@ -2168,7 +2166,6 @@ static void yukon_link_down(struct skge_port *skge)
2168 gm_phy_write(hw, port, PHY_MARV_AUNE_ADV, ctrl); 2166 gm_phy_write(hw, port, PHY_MARV_AUNE_ADV, ctrl);
2169 } 2167 }
2170 2168
2171 yukon_reset(hw, port);
2172 skge_link_down(skge); 2169 skge_link_down(skge);
2173 2170
2174 yukon_init(hw, port); 2171 yukon_init(hw, port);
@@ -2256,6 +2253,7 @@ static void skge_phy_reset(struct skge_port *skge)
2256{ 2253{
2257 struct skge_hw *hw = skge->hw; 2254 struct skge_hw *hw = skge->hw;
2258 int port = skge->port; 2255 int port = skge->port;
2256 struct net_device *dev = hw->dev[port];
2259 2257
2260 netif_stop_queue(skge->netdev); 2258 netif_stop_queue(skge->netdev);
2261 netif_carrier_off(skge->netdev); 2259 netif_carrier_off(skge->netdev);
@@ -2269,6 +2267,8 @@ static void skge_phy_reset(struct skge_port *skge)
2269 yukon_init(hw, port); 2267 yukon_init(hw, port);
2270 } 2268 }
2271 mutex_unlock(&hw->phy_mutex); 2269 mutex_unlock(&hw->phy_mutex);
2270
2271 dev->set_multicast_list(dev);
2272} 2272}
2273 2273
2274/* Basic MII support */ 2274/* Basic MII support */
@@ -2566,7 +2566,7 @@ static int skge_xmit_frame(struct sk_buff *skb, struct net_device *dev)
2566 2566
2567 td->csum_offs = 0; 2567 td->csum_offs = 0;
2568 td->csum_start = offset; 2568 td->csum_start = offset;
2569 td->csum_write = offset + skb->csum; 2569 td->csum_write = offset + skb->csum_offset;
2570 } else 2570 } else
2571 control = BMU_CHECK; 2571 control = BMU_CHECK;
2572 2572