On Tue, 3 Nov 2020 18:52:18 +0100 Heiner Kallweit wrote:
> Network problems with RTL8125B have been reported [0] and with help
> from Realtek it turned out that this chip version has a hw problem
> with short packets (similar to RTL8168evl). Having said that activate
> the same workaround as for RTL8168evl.
> Realtek suggested to activate the workaround for RTL8125A too, even
> though they're not 100% sure yet which RTL8125 versions are affected.
> 
> [0] https://bugzilla.kernel.org/show_bug.cgi?id=209839
> 
> Fixes: 0439297be951 ("r8169: add support for RTL8125B")
> Reported-by: Maxim Plotnikov <w...@torlan.ru>
> Tested-by: Maxim Plotnikov <w...@torlan.ru>
> Signed-off-by: Heiner Kallweit <hkallwe...@gmail.com>

Applied, thanks!

> @@ -4125,7 +4133,7 @@ static bool rtl8169_tso_csum_v2(struct rtl8169_private 
> *tp,
>  
>               opts[1] |= transport_offset << TCPHO_SHIFT;
>       } else {
> -             if (unlikely(rtl_test_hw_pad_bug(tp, skb)))
> +             if (unlikely(skb->len < ETH_ZLEN && rtl_test_hw_pad_bug(tp)))
>                       return !eth_skb_pad(skb);
>       }

But looks like we may have another bug here - looks like this function
treas skb_cow_head() and eth_skb_pad() failures the same, but former
doesn't free the skb on error, while the latter does.

Reply via email to