1 --- r8168-8.048.02/src/r8168_n.c~ 2022-04-02 22:25:30.000000000 +0200
2 +++ r8168-8.048.02/src/r8168_n.c 2022-04-02 22:28:28.896501079 +0200
4 static int rtl8168_proc_open(struct inode *inode, struct file *file)
6 struct net_device *dev = proc_get_parent_data(inode);
7 +#if LINUX_VERSION_CODE < KERNEL_VERSION(5,17,0)
8 int (*show)(struct seq_file *, void *) = PDE_DATA(inode);
10 + int (*show)(struct seq_file *, void *) = pde_data(inode);
13 return single_open(file, show, dev);
15 --- r8168-8.049.02/src/r8168_n.c.orig 2022-04-02 23:30:49.000000000 +0200
16 +++ r8168-8.049.02/src/r8168_n.c 2022-04-02 23:40:02.568626144 +0200
17 @@ -24065,6 +24065,9 @@
18 struct rtl8168_private *tp = netdev_priv(dev);
20 u8 mac_addr[MAC_ADDR_LEN];
21 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,17,0)
22 + u8 addr[ETH_ALEN] __aligned(4);
25 for (i = 0; i < MAC_ADDR_LEN; i++)
26 mac_addr[i] = RTL_R8(tp, MAC0 + i);
27 @@ -24132,10 +24135,18 @@
29 rtl8168_rar_set(tp, mac_addr);
31 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,17,0)
32 + for (i = 0; i < MAC_ADDR_LEN; i++) {
33 + addr[i] = RTL_R8(tp, MAC0 + i);
34 + tp->org_mac_addr[i] = dev->dev_addr[i]; /* keep the original MAC address */
36 + eth_hw_addr_set(dev, addr);
38 for (i = 0; i < MAC_ADDR_LEN; i++) {
39 dev->dev_addr[i] = RTL_R8(tp, MAC0 + i);
40 tp->org_mac_addr[i] = dev->dev_addr[i]; /* keep the original MAC address */
43 #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,13)
44 memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len);