]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 14 Dec 2024 18:51:36 +0000 (19:51 +0100)
[ Upstream commit 87e26448dbda4523b73a894d96f0f788506d3795 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/realtek/r8169_main.c

index 8e910f3349b2a0795808b21478dc1fb2383184aa..d9d19ea77d20be2a8dcfa6f176330bbd59ae3eea 100644 (file)
@@ -4148,8 +4148,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);
 
@@ -4173,9 +4173,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: