50 lines
1.7 KiB
Diff
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 */
|