package_kernel_r8152/patches/200-fix-for-linux-5.19-without-breaking-older-kernel.patch
2022-11-12 15:55:00 +08:00

50 lines
1.7 KiB
Diff

From 6ffb3760c34a904467d70830ac9c10211e8f5d3a Mon Sep 17 00:00:00 2001
From: Hyacinthe Cartiaux <hyacinthe.cartiaux@free.fr>
Date: Wed, 14 Sep 2022 15:13:31 +0200
Subject: [PATCH] Fix for linux 5.19 without breaking older kernel
compatibility
---
r8152.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/r8152.c b/r8152.c
index 9c2bd16..5391b21 100644
--- a/r8152.c
+++ b/r8152.c
@@ -20458,9 +20458,13 @@ static ssize_t sg_en_store(struct device *dev, struct device_attribute *attr,
return -EINVAL;
}
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,19,0)
+/* LINUX_VERSION_CODE >= KERNEL_VERSION(5,19,0) */
+ netif_set_tso_max_size(netdev, tso_size);
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
+/* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) */
netif_set_gso_max_size(netdev, tso_size);
-#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) */
+#endif
return count;
}
@@ -20620,12 +20624,16 @@ static int rtl8152_probe(struct usb_interface *intf,
rtl_get_mapt_ver(tp);
netdev->ethtool_ops = &ops;
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,19,0)
+/* LINUX_VERSION_CODE >= KERNEL_VERSION(5,19,0) */
+ netif_set_tso_max_size(netdev, RTL_LIMITED_TSO_SIZE);
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
+/* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) */
if (!tp->sg_use)
netif_set_gso_max_size(netdev, RTL_LIMITED_TSO_SIZE);
#else
netdev->features &= ~(NETIF_F_TSO | NETIF_F_TSO6);
-#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) */
+#endif
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)
/* MTU range: 68 - 1500 or 9194 */