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.