core/r8168/linux-3.10.patch
2013-08-12 18:53:40 +00:00

60 lines
2.0 KiB
Diff

--- src/r8168_n.c.orig 2013-07-02 14:20:27.355887286 +0200
+++ src/r8168_n.c 2013-07-02 14:24:25.302573010 +0200
@@ -52,6 +52,10 @@
#include <linux/init.h>
#include <linux/rtnetlink.h>
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+#include <linux/if_ether.h>
+#endif
+
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
#include <linux/pci-aspm.h>
#endif
@@ -2232,6 +2236,9 @@
swab16(opts2 & 0xffff));
ret = 0;
}
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+ if (opts2 & RxVlanTag)
+ __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), swab16(opts2 & 0xffff));
#else
if (opts2 & RxVlanTag)
__vlan_hwaccel_put_tag(skb, swab16(opts2 & 0xffff));
@@ -2295,7 +2302,11 @@
else
tp->cp_cmd &= ~RxChkSum;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+ if (dev->features & NETIF_F_HW_VLAN_CTAG_RX)
+#else
if (dev->features & NETIF_F_HW_VLAN_RX)
+#endif
tp->cp_cmd |= RxVlan;
else
tp->cp_cmd &= ~RxVlan;
@@ -16195,7 +16206,11 @@
#ifdef CONFIG_R8168_VLAN
if (tp->mcfg != CFG_METHOD_DEFAULT) {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+ dev->features |= NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX;
+#else
dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX;
+#endif
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
dev->vlan_rx_kill_vid = rtl8168_vlan_rx_kill_vid;
#endif //LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
@@ -16210,7 +16225,11 @@
#else
dev->features |= NETIF_F_RXCSUM;
dev->hw_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO |
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+ NETIF_F_RXCSUM | NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX;
+#else
NETIF_F_RXCSUM | NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX;
+#endif
dev->vlan_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO |
NETIF_F_HIGHDMA;
#endif