diff options
Diffstat (limited to 'drivers/net/ethernet/realtek/r8169.c')
| -rw-r--r-- | drivers/net/ethernet/realtek/r8169.c | 27 | 
1 files changed, 18 insertions, 9 deletions
| diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c index 8900398ba10..28fb50a1e9c 100644 --- a/drivers/net/ethernet/realtek/r8169.c +++ b/drivers/net/ethernet/realtek/r8169.c @@ -4765,8 +4765,10 @@ static void rtl_hw_start_8168bb(struct rtl8169_private *tp)  	RTL_W16(CPlusCmd, RTL_R16(CPlusCmd) & ~R8168_CPCMD_QUIRK_MASK); -	rtl_tx_performance_tweak(pdev, -		(0x5 << MAX_READ_REQUEST_SHIFT) | PCI_EXP_DEVCTL_NOSNOOP_EN); +	if (tp->dev->mtu <= ETH_DATA_LEN) { +		rtl_tx_performance_tweak(pdev, (0x5 << MAX_READ_REQUEST_SHIFT) | +					 PCI_EXP_DEVCTL_NOSNOOP_EN); +	}  }  static void rtl_hw_start_8168bef(struct rtl8169_private *tp) @@ -4789,7 +4791,8 @@ static void __rtl_hw_start_8168cp(struct rtl8169_private *tp)  	RTL_W8(Config3, RTL_R8(Config3) & ~Beacon_en); -	rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT); +	if (tp->dev->mtu <= ETH_DATA_LEN) +		rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT);  	rtl_disable_clock_request(pdev); @@ -4822,7 +4825,8 @@ static void rtl_hw_start_8168cp_2(struct rtl8169_private *tp)  	RTL_W8(Config3, RTL_R8(Config3) & ~Beacon_en); -	rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT); +	if (tp->dev->mtu <= ETH_DATA_LEN) +		rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT);  	RTL_W16(CPlusCmd, RTL_R16(CPlusCmd) & ~R8168_CPCMD_QUIRK_MASK);  } @@ -4841,7 +4845,8 @@ static void rtl_hw_start_8168cp_3(struct rtl8169_private *tp)  	RTL_W8(MaxTxPacketSize, TxPacketMax); -	rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT); +	if (tp->dev->mtu <= ETH_DATA_LEN) +		rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT);  	RTL_W16(CPlusCmd, RTL_R16(CPlusCmd) & ~R8168_CPCMD_QUIRK_MASK);  } @@ -4901,7 +4906,8 @@ static void rtl_hw_start_8168d(struct rtl8169_private *tp)  	RTL_W8(MaxTxPacketSize, TxPacketMax); -	rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT); +	if (tp->dev->mtu <= ETH_DATA_LEN) +		rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT);  	RTL_W16(CPlusCmd, RTL_R16(CPlusCmd) & ~R8168_CPCMD_QUIRK_MASK);  } @@ -4913,7 +4919,8 @@ static void rtl_hw_start_8168dp(struct rtl8169_private *tp)  	rtl_csi_access_enable_1(tp); -	rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT); +	if (tp->dev->mtu <= ETH_DATA_LEN) +		rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT);  	RTL_W8(MaxTxPacketSize, TxPacketMax); @@ -4972,7 +4979,8 @@ static void rtl_hw_start_8168e_1(struct rtl8169_private *tp)  	rtl_ephy_init(tp, e_info_8168e_1, ARRAY_SIZE(e_info_8168e_1)); -	rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT); +	if (tp->dev->mtu <= ETH_DATA_LEN) +		rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT);  	RTL_W8(MaxTxPacketSize, TxPacketMax); @@ -4998,7 +5006,8 @@ static void rtl_hw_start_8168e_2(struct rtl8169_private *tp)  	rtl_ephy_init(tp, e_info_8168e_2, ARRAY_SIZE(e_info_8168e_2)); -	rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT); +	if (tp->dev->mtu <= ETH_DATA_LEN) +		rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT);  	rtl_eri_write(tp, 0xc0, ERIAR_MASK_0011, 0x0000, ERIAR_EXGMAC);  	rtl_eri_write(tp, 0xb8, ERIAR_MASK_0011, 0x0000, ERIAR_EXGMAC); |