]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
r8169: don't apply UDP padding quirk on RTL8126A
authorHeiner Kallweit <hkallweit1@gmail.com>
Wed, 9 Oct 2024 05:44:23 +0000 (07:44 +0200)
committerJakub Kicinski <kuba@kernel.org>
Fri, 11 Oct 2024 01:36:06 +0000 (18:36 -0700)
Vendor drivers r8125/r8126 indicate that this quirk isn't needed
any longer for RTL8126A. Mimic this in r8169.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/d1317187-aa81-4a69-b831-678436e4de62@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/realtek/r8169_main.c

index c506ffc1c019da947f48cb9bdeca2b712b5f6724..6651054305d22fe0cce23b9fbff1826079b282e9 100644 (file)
@@ -4234,8 +4234,8 @@ static unsigned int rtl8125_quirk_udp_padto(struct rtl8169_private *tp,
 {
        unsigned int padto = 0, len = skb->len;
 
-       if (rtl_is_8125(tp) && len < 128 + RTL_MIN_PATCH_LEN &&
-           rtl_skb_is_udp(skb) && skb_transport_header_was_set(skb)) {
+       if (len < 128 + RTL_MIN_PATCH_LEN && rtl_skb_is_udp(skb) &&
+           skb_transport_header_was_set(skb)) {
                unsigned int trans_data_len = skb_tail_pointer(skb) -
                                              skb_transport_header(skb);
 
@@ -4259,9 +4259,15 @@ static unsigned int rtl8125_quirk_udp_padto(struct rtl8169_private *tp,
 static unsigned int rtl_quirk_packet_padto(struct rtl8169_private *tp,
                                           struct sk_buff *skb)
 {
-       unsigned int padto;
+       unsigned int padto = 0;
 
-       padto = rtl8125_quirk_udp_padto(tp, skb);
+       switch (tp->mac_version) {
+       case RTL_GIGA_MAC_VER_61 ... RTL_GIGA_MAC_VER_63:
+               padto = rtl8125_quirk_udp_padto(tp, skb);
+               break;
+       default:
+               break;
+       }
 
        switch (tp->mac_version) {
        case RTL_GIGA_MAC_VER_34: