diff options
Diffstat (limited to 'drivers/net/sky2.c')
-rw-r--r-- | drivers/net/sky2.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index 629809433cb3..d913d3407e90 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c | |||
@@ -1988,13 +1988,12 @@ exit_loop: | |||
1988 | sky2_tx_check(hw, 0, tx_done[0]); | 1988 | sky2_tx_check(hw, 0, tx_done[0]); |
1989 | sky2_tx_check(hw, 1, tx_done[1]); | 1989 | sky2_tx_check(hw, 1, tx_done[1]); |
1990 | 1990 | ||
1991 | if (likely(work_done < to_do)) { | 1991 | if (sky2_read8(hw, STAT_TX_TIMER_CTRL) == TIM_START) { |
1992 | /* need to restart TX timer */ | 1992 | sky2_write8(hw, STAT_TX_TIMER_CTRL, TIM_STOP); |
1993 | if (is_ec_a1(hw)) { | 1993 | sky2_write8(hw, STAT_TX_TIMER_CTRL, TIM_START); |
1994 | sky2_write8(hw, STAT_TX_TIMER_CTRL, TIM_STOP); | 1994 | } |
1995 | sky2_write8(hw, STAT_TX_TIMER_CTRL, TIM_START); | ||
1996 | } | ||
1997 | 1995 | ||
1996 | if (likely(work_done < to_do)) { | ||
1998 | netif_rx_complete(dev0); | 1997 | netif_rx_complete(dev0); |
1999 | hw->intr_mask |= Y2_IS_STAT_BMU; | 1998 | hw->intr_mask |= Y2_IS_STAT_BMU; |
2000 | sky2_write32(hw, B0_IMSK, hw->intr_mask); | 1999 | sky2_write32(hw, B0_IMSK, hw->intr_mask); |
@@ -2352,8 +2351,7 @@ static int sky2_reset(struct sky2_hw *hw) | |||
2352 | sky2_write8(hw, STAT_FIFO_ISR_WM, 16); | 2351 | sky2_write8(hw, STAT_FIFO_ISR_WM, 16); |
2353 | 2352 | ||
2354 | sky2_write32(hw, STAT_TX_TIMER_INI, sky2_us2clk(hw, 1000)); | 2353 | sky2_write32(hw, STAT_TX_TIMER_INI, sky2_us2clk(hw, 1000)); |
2355 | sky2_write32(hw, STAT_LEV_TIMER_INI, sky2_us2clk(hw, 100)); | 2354 | sky2_write32(hw, STAT_ISR_TIMER_INI, sky2_us2clk(hw, 7)); |
2356 | sky2_write32(hw, STAT_ISR_TIMER_INI, sky2_us2clk(hw, 20)); | ||
2357 | } | 2355 | } |
2358 | 2356 | ||
2359 | /* enable status unit */ | 2357 | /* enable status unit */ |