diff options
Diffstat (limited to 'drivers/net/skge.c')
-rw-r--r-- | drivers/net/skge.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/net/skge.c b/drivers/net/skge.c index e7e414928f89..5513907e8393 100644 --- a/drivers/net/skge.c +++ b/drivers/net/skge.c | |||
@@ -11,8 +11,7 @@ | |||
11 | * | 11 | * |
12 | * This program is free software; you can redistribute it and/or modify | 12 | * This program is free software; you can redistribute it and/or modify |
13 | * it under the terms of the GNU General Public License as published by | 13 | * it under the terms of the GNU General Public License as published by |
14 | * the Free Software Foundation; either version 2 of the License, or | 14 | * the Free Software Foundation; either version 2 of the License. |
15 | * (at your option) any later version. | ||
16 | * | 15 | * |
17 | * This program is distributed in the hope that it will be useful, | 16 | * This program is distributed in the hope that it will be useful, |
18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
@@ -2155,8 +2154,6 @@ static void yukon_link_down(struct skge_port *skge) | |||
2155 | int port = skge->port; | 2154 | int port = skge->port; |
2156 | u16 ctrl; | 2155 | u16 ctrl; |
2157 | 2156 | ||
2158 | gm_phy_write(hw, port, PHY_MARV_INT_MASK, 0); | ||
2159 | |||
2160 | ctrl = gma_read16(hw, port, GM_GP_CTRL); | 2157 | ctrl = gma_read16(hw, port, GM_GP_CTRL); |
2161 | ctrl &= ~(GM_GPCR_RX_ENA | GM_GPCR_TX_ENA); | 2158 | ctrl &= ~(GM_GPCR_RX_ENA | GM_GPCR_TX_ENA); |
2162 | gma_write16(hw, port, GM_GP_CTRL, ctrl); | 2159 | gma_write16(hw, port, GM_GP_CTRL, ctrl); |
@@ -2168,7 +2165,6 @@ static void yukon_link_down(struct skge_port *skge) | |||
2168 | gm_phy_write(hw, port, PHY_MARV_AUNE_ADV, ctrl); | 2165 | gm_phy_write(hw, port, PHY_MARV_AUNE_ADV, ctrl); |
2169 | } | 2166 | } |
2170 | 2167 | ||
2171 | yukon_reset(hw, port); | ||
2172 | skge_link_down(skge); | 2168 | skge_link_down(skge); |
2173 | 2169 | ||
2174 | yukon_init(hw, port); | 2170 | yukon_init(hw, port); |
@@ -2256,6 +2252,7 @@ static void skge_phy_reset(struct skge_port *skge) | |||
2256 | { | 2252 | { |
2257 | struct skge_hw *hw = skge->hw; | 2253 | struct skge_hw *hw = skge->hw; |
2258 | int port = skge->port; | 2254 | int port = skge->port; |
2255 | struct net_device *dev = hw->dev[port]; | ||
2259 | 2256 | ||
2260 | netif_stop_queue(skge->netdev); | 2257 | netif_stop_queue(skge->netdev); |
2261 | netif_carrier_off(skge->netdev); | 2258 | netif_carrier_off(skge->netdev); |
@@ -2269,6 +2266,8 @@ static void skge_phy_reset(struct skge_port *skge) | |||
2269 | yukon_init(hw, port); | 2266 | yukon_init(hw, port); |
2270 | } | 2267 | } |
2271 | mutex_unlock(&hw->phy_mutex); | 2268 | mutex_unlock(&hw->phy_mutex); |
2269 | |||
2270 | dev->set_multicast_list(dev); | ||
2272 | } | 2271 | } |
2273 | 2272 | ||
2274 | /* Basic MII support */ | 2273 | /* Basic MII support */ |
@@ -2566,7 +2565,7 @@ static int skge_xmit_frame(struct sk_buff *skb, struct net_device *dev) | |||
2566 | 2565 | ||
2567 | td->csum_offs = 0; | 2566 | td->csum_offs = 0; |
2568 | td->csum_start = offset; | 2567 | td->csum_start = offset; |
2569 | td->csum_write = offset + skb->csum; | 2568 | td->csum_write = offset + skb->csum_offset; |
2570 | } else | 2569 | } else |
2571 | control = BMU_CHECK; | 2570 | control = BMU_CHECK; |
2572 | 2571 | ||