aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.14/950-0270-net-lan78xx-Add-support-for-VLAN-filtering.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-4.14/950-0270-net-lan78xx-Add-support-for-VLAN-filtering.patch')
-rw-r--r--target/linux/brcm2708/patches-4.14/950-0270-net-lan78xx-Add-support-for-VLAN-filtering.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.14/950-0270-net-lan78xx-Add-support-for-VLAN-filtering.patch b/target/linux/brcm2708/patches-4.14/950-0270-net-lan78xx-Add-support-for-VLAN-filtering.patch
new file mode 100644
index 0000000000..b3ffe3e79b
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.14/950-0270-net-lan78xx-Add-support-for-VLAN-filtering.patch
@@ -0,0 +1,36 @@
+From c9101bf318db158e88e293aface9ce952657d958 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Tue, 10 Apr 2018 12:39:06 +0100
+Subject: [PATCH 270/454] net: lan78xx: Add support for VLAN filtering.
+
+HW_VLAN_CTAG_FILTER was partially implemented, but not fully to Linux.
+Complete the implementation of this.
+
+See #2458.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ drivers/net/usb/lan78xx.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- a/drivers/net/usb/lan78xx.c
++++ b/drivers/net/usb/lan78xx.c
+@@ -2275,7 +2275,7 @@ static int lan78xx_set_features(struct n
+ pdata->rfe_ctl &= ~(RFE_CTL_ICMP_COE_ | RFE_CTL_IGMP_COE_);
+ }
+
+- if (features & NETIF_F_HW_VLAN_CTAG_RX)
++ if (features & NETIF_F_HW_VLAN_CTAG_FILTER)
+ pdata->rfe_ctl |= RFE_CTL_VLAN_FILTER_;
+ else
+ pdata->rfe_ctl &= ~RFE_CTL_VLAN_FILTER_;
+@@ -2888,6 +2888,9 @@ static int lan78xx_bind(struct lan78xx_n
+ if (DEFAULT_TSO_CSUM_ENABLE)
+ dev->net->features |= NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_SG;
+
++ if (DEFAULT_VLAN_FILTER_ENABLE)
++ dev->net->features |= NETIF_F_HW_VLAN_CTAG_FILTER;
++
+ dev->net->hw_features = dev->net->features;
+
+ ret = lan78xx_setup_irq_domain(dev);