summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernd Amend2022-04-04 23:56:31 +0200
committerBernd Amend2022-04-04 23:56:31 +0200
commit87423652a57a73fb78172391f2a4855222f215ed (patch)
treedd26c4268d793af5208e06bb5adae5ba37f4d54b
parent6156e027c127af961c89bad600546d234d82ccab (diff)
downloadaur-87423652a57a73fb78172391f2a4855222f215ed.tar.gz
add patch for 5.17 provided by jeker
-rw-r--r--5.17.patch63
-rw-r--r--PKGBUILD11
2 files changed, 71 insertions, 3 deletions
diff --git a/5.17.patch b/5.17.patch
new file mode 100644
index 000000000000..901794f98f38
--- /dev/null
+++ b/5.17.patch
@@ -0,0 +1,63 @@
+--- r8125-9.008.00/src/r8125_n.c 2022-02-24 16:45:51.000000000 +0100
++++ r8125-9.008.00-linux5.17/src/r8125_n.c 2022-04-02 11:12:08.754829003 +0200
+@@ -1750,7 +1750,7 @@
+ static int rtl8125_proc_open(struct inode *inode, struct file *file)
+ {
+ struct net_device *dev = proc_get_parent_data(inode);
+- int (*show)(struct seq_file *, void *) = PDE_DATA(inode);
++ int (*show)(struct seq_file *, void *) = pde_data(inode);
+
+ return single_open(file, show, dev);
+ }
+@@ -5234,8 +5234,15 @@
+ }
+
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0)
+ static void rtl8125_get_ringparam(struct net_device *dev,
+ struct ethtool_ringparam *ring)
++#else
++static void rtl8125_get_ringparam(struct net_device *dev,
++ struct ethtool_ringparam *ring,
++ struct kernel_ethtool_ringparam *kernel_ring,
++ struct netlink_ext_ack *extack)
++#endif
+ {
+ struct rtl8125_private *tp = netdev_priv(dev);
+
+@@ -5245,8 +5252,15 @@
+ ring->tx_pending = tp->tx_ring[0].num_tx_desc;
+ }
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0)
+ static int rtl8125_set_ringparam(struct net_device *dev,
+ struct ethtool_ringparam *ring)
++#else
++static int rtl8125_set_ringparam(struct net_device *dev,
++ struct ethtool_ringparam *ring,
++ struct kernel_ethtool_ringparam *kernel_ring,
++ struct netlink_ext_ack *extack)
++#endif
+ {
+ struct rtl8125_private *tp = netdev_priv(dev);
+ u32 new_rx_count, new_tx_count;
+@@ -10889,6 +10903,7 @@
+ struct rtl8125_private *tp = netdev_priv(dev);
+ int i;
+ u8 mac_addr[MAC_ADDR_LEN];
++ u8 addr[ETH_ALEN];
+
+ for (i = 0; i < MAC_ADDR_LEN; i++)
+ mac_addr[i] = RTL_R8(tp, MAC0 + i);
+@@ -10916,9 +10931,10 @@
+ rtl8125_rar_set(tp, mac_addr);
+
+ for (i = 0; i < MAC_ADDR_LEN; i++) {
+- dev->dev_addr[i] = RTL_R8(tp, MAC0 + i);
++ addr[i] = RTL_R8(tp, MAC0 + i);
+ tp->org_mac_addr[i] = dev->dev_addr[i]; /* keep the original MAC address */
+ }
++ eth_hw_addr_set(dev, addr);
+ #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,13)
+ memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len);
+ #endif
diff --git a/PKGBUILD b/PKGBUILD
index ab7dd8ea1181..96f67387fc51 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,7 +5,7 @@
_pkgname=r8125
pkgname=${_pkgname}-dkms
pkgver=9.008.00
-pkgrel=1
+pkgrel=2
url="https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-pci-express-software"
pkgdesc="Kernel module for RTL8125"
license=('GPL2')
@@ -14,9 +14,14 @@ depends=('dkms')
conflicts=("${_pkgname}")
optdepends=('linux-headers: Build the module for Arch kernel'
'linux-lts-headers: Build the module for LTS Arch kernel')
-source=("http://rtitwww.realtek.com/rtdrivers/cn/nic1/${_pkgname}-${pkgver}.tar.bz2" 'dkms.conf')
+source=("http://rtitwww.realtek.com/rtdrivers/cn/nic1/${_pkgname}-${pkgver}.tar.bz2" 'dkms.conf' '5.17.patch')
sha256sums=('b481c778a9c24d9c686319c090a929e9d052847e62a41f559032661722d7252e'
- 'ad4c67e0c74661d19b74872f98254184d4b04e32e4c57b338a84fbcefa4c721f')
+ 'ad4c67e0c74661d19b74872f98254184d4b04e32e4c57b338a84fbcefa4c721f'
+ '61b29191e920ea334d83799d1291a76f63c0022f3e3c8eba3d35d08d0ac613b6')
+
+prepare() {
+ patch -p0 < 5.17.patch
+}
package() {
dir_name="${_pkgname}-${pkgver}"