diff options
-rw-r--r-- | drivers/net/r8169.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index 8086bacabcf3..273afb561707 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c | |||
@@ -2396,14 +2396,10 @@ static void rtl_hw_start_8168(struct net_device *dev) | |||
2396 | 2396 | ||
2397 | rtl_set_rx_max_size(ioaddr); | 2397 | rtl_set_rx_max_size(ioaddr); |
2398 | 2398 | ||
2399 | rtl_set_rx_tx_config_registers(tp); | ||
2400 | |||
2401 | tp->cp_cmd |= RTL_R16(CPlusCmd) | PktCntrDisable | INTT_1; | 2399 | tp->cp_cmd |= RTL_R16(CPlusCmd) | PktCntrDisable | INTT_1; |
2402 | 2400 | ||
2403 | RTL_W16(CPlusCmd, tp->cp_cmd); | 2401 | RTL_W16(CPlusCmd, tp->cp_cmd); |
2404 | 2402 | ||
2405 | rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT); | ||
2406 | |||
2407 | RTL_W16(IntrMitigate, 0x5151); | 2403 | RTL_W16(IntrMitigate, 0x5151); |
2408 | 2404 | ||
2409 | /* Work around for RxFIFO overflow. */ | 2405 | /* Work around for RxFIFO overflow. */ |
@@ -2414,14 +2410,19 @@ static void rtl_hw_start_8168(struct net_device *dev) | |||
2414 | 2410 | ||
2415 | rtl_set_rx_tx_desc_registers(tp, ioaddr); | 2411 | rtl_set_rx_tx_desc_registers(tp, ioaddr); |
2416 | 2412 | ||
2417 | RTL_W8(Cfg9346, Cfg9346_Lock); | 2413 | rtl_set_rx_mode(dev); |
2414 | |||
2415 | RTL_W32(TxConfig, (TX_DMA_BURST << TxDMAShift) | | ||
2416 | (InterFrameGap << TxInterFrameGapShift)); | ||
2418 | 2417 | ||
2419 | RTL_R8(IntrMask); | 2418 | RTL_R8(IntrMask); |
2420 | 2419 | ||
2421 | rtl_set_rx_mode(dev); | 2420 | rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT); |
2422 | 2421 | ||
2423 | RTL_W8(ChipCmd, CmdTxEnb | CmdRxEnb); | 2422 | RTL_W8(ChipCmd, CmdTxEnb | CmdRxEnb); |
2424 | 2423 | ||
2424 | RTL_W8(Cfg9346, Cfg9346_Lock); | ||
2425 | |||
2425 | RTL_W16(MultiIntr, RTL_R16(MultiIntr) & 0xF000); | 2426 | RTL_W16(MultiIntr, RTL_R16(MultiIntr) & 0xF000); |
2426 | 2427 | ||
2427 | RTL_W16(IntrMask, tp->intr_event); | 2428 | RTL_W16(IntrMask, tp->intr_event); |