summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Faulkner <jay@jvf.cc>2022-11-22 14:27:02 -0800
committerSam James <sam@gentoo.org>2022-11-22 23:29:56 +0000
commit075f9be47b5343e90d7d0ab0dc94b3072ce2cd2c (patch)
treed3a5fad9d16b8018e1f02885ddd7bb5272a6bee8 /net-misc/r8152
parentdev-util/glslang: Disable PCH (diff)
downloadgentoo-075f9be47b5343e90d7d0ab0dc94b3072ce2cd2c.tar.gz
gentoo-075f9be47b5343e90d7d0ab0dc94b3072ce2cd2c.tar.bz2
gentoo-075f9be47b5343e90d7d0ab0dc94b3072ce2cd2c.zip
net-misc/r8152: Support kernel 6.1
Kernel 6.1 is changing the interface for network drivers. This is a backwards-compatable fix to the kernel module to make it work on 6.1. Thanks to ervin.popescu10@gmail.com for the patch. Signed-off-by: Jay Faulkner <jay@jvf.cc> Closes: https://github.com/gentoo/gentoo/pull/28391 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-misc/r8152')
-rw-r--r--net-misc/r8152/files/r8152-2.16.3-kernel-6.1-fix.patch46
-rw-r--r--net-misc/r8152/r8152-2.16.3.ebuild1
2 files changed, 47 insertions, 0 deletions
diff --git a/net-misc/r8152/files/r8152-2.16.3-kernel-6.1-fix.patch b/net-misc/r8152/files/r8152-2.16.3-kernel-6.1-fix.patch
new file mode 100644
index 000000000000..d20db413a16b
--- /dev/null
+++ b/net-misc/r8152/files/r8152-2.16.3-kernel-6.1-fix.patch
@@ -0,0 +1,46 @@
+https://github.com/ervinpopescu/realtek-r8152-linux/commit/0029747c3cf68dbccbebfcb560277040673dfe36.patch
+From: ervinpopescu <ervin.popescu10@gmail.com>
+Date: Tue, 15 Nov 2022 19:30:16 +0200
+Subject: [PATCH] Fix for linux 6.1 without breaking older kernel compatibility
+
+--- a/r8152.c
++++ b/r8152.c
+@@ -17558,7 +17558,6 @@ static void r8156_init(struct r8152 *tp)
+ // break;
+ // }
+
+-
+ r8153b_mcu_spdown_en(tp, false);
+
+ ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_EXTRA_STATUS);
+@@ -18339,7 +18338,6 @@ int rtl8152_get_settings(struct net_device *netdev, struct ethtool_cmd *cmd)
+ cmd->autoneg = AUTONEG_DISABLE;
+ }
+
+-
+ if (netif_running(netdev) && netif_carrier_ok(netdev)) {
+ u16 speed = rtl8152_get_speed(tp);
+
+@@ -19202,7 +19200,6 @@ static int rtltool_ioctl(struct r8152 *tp, struct ifreq *ifr)
+ }
+ break;
+
+-
+ case RTLTOOL_USB_OCP_WRITE_DWORD:
+ if (!tp->rtk_enable_diag && net_ratelimit())
+ netif_warn(tp, drv, netdev,
+@@ -20708,10 +20705,14 @@ static int rtl8152_probe(struct usb_interface *intf,
+
+ usb_set_intfdata(intf, tp);
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6,1,0)
+ if (tp->support_2500full)
+ netif_napi_add(netdev, &tp->napi, r8152_poll, 256);
+ else
+ netif_napi_add(netdev, &tp->napi, r8152_poll, 64);
++#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0) */
++ netif_napi_add(netdev, &tp->napi, r8152_poll);
++#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(6,1,0) */
+
+ ret = register_netdev(netdev);
+ if (ret != 0) {
diff --git a/net-misc/r8152/r8152-2.16.3.ebuild b/net-misc/r8152/r8152-2.16.3.ebuild
index bb0eb2cef113..ef6a81cfcf22 100644
--- a/net-misc/r8152/r8152-2.16.3.ebuild
+++ b/net-misc/r8152/r8152-2.16.3.ebuild
@@ -24,6 +24,7 @@ IUSE="+center-tap-short"
# with kernel support patches. It appears to be used by the AUR maintainer.
PATCHES=(
"${FILESDIR}"/${PN}-2.16.3-kernel-5.19-fix.patch
+ "${FILESDIR}"/${PN}-2.16.3-kernel-6.1-fix.patch
)
pkg_setup() {