aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic-2.6/patches-2.6.32
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@openwrt.org>2010-02-20 13:18:34 +0000
committerHauke Mehrtens <hauke@openwrt.org>2010-02-20 13:18:34 +0000
commit0920189b3f13eeb31531156651debd1d87d047e8 (patch)
tree503c43c91ccbf3ec114f67049e5dee1bae2e83f4 /target/linux/generic-2.6/patches-2.6.32
parentbabb67d87c4f53127b21b9ea720551a138099f13 (diff)
downloadupstream-0920189b3f13eeb31531156651debd1d87d047e8.tar.gz
upstream-0920189b3f13eeb31531156651debd1d87d047e8.tar.bz2
upstream-0920189b3f13eeb31531156651debd1d87d047e8.zip
[br2684] allow routed mode operation again
Fix part of bug #6709. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19779 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic-2.6/patches-2.6.32')
-rw-r--r--target/linux/generic-2.6/patches-2.6.32/640-br2684_backport_routed.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/target/linux/generic-2.6/patches-2.6.32/640-br2684_backport_routed.patch b/target/linux/generic-2.6/patches-2.6.32/640-br2684_backport_routed.patch
new file mode 100644
index 0000000000..28dd74dd7c
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.32/640-br2684_backport_routed.patch
@@ -0,0 +1,42 @@
+commit 2e302ebfeac04beb5a5d6af1ac583c6a1fb76d1a
+Author: chas williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
+Date: Fri Dec 4 11:06:32 2009 +0000
+
+ atm: [br2684] allow routed mode operation again
+
+ in routed mode, we don't have a hardware address so netdev_ops doesnt
+ need to validate our hardware address via .ndo_validate_addr
+
+ Reported-by: Manuel Fuentes <mfuentes@agenciaefe.com>
+ Signed-off-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
+ Signed-off-by: David S. Miller <davem@davemloft.net>
+
+--- a/net/atm/br2684.c
++++ b/net/atm/br2684.c
+@@ -554,6 +554,12 @@ static const struct net_device_ops br268
+ .ndo_validate_addr = eth_validate_addr,
+ };
+
++static const struct net_device_ops br2684_netdev_ops_routed = {
++ .ndo_start_xmit = br2684_start_xmit,
++ .ndo_set_mac_address = br2684_mac_addr,
++ .ndo_change_mtu = eth_change_mtu
++};
++
+ static void br2684_setup(struct net_device *netdev)
+ {
+ struct br2684_dev *brdev = BRPRIV(netdev);
+@@ -569,11 +575,10 @@ static void br2684_setup(struct net_devi
+ static void br2684_setup_routed(struct net_device *netdev)
+ {
+ struct br2684_dev *brdev = BRPRIV(netdev);
+- brdev->net_dev = netdev;
+
++ brdev->net_dev = netdev;
+ netdev->hard_header_len = 0;
+-
+- netdev->netdev_ops = &br2684_netdev_ops;
++ netdev->netdev_ops = &br2684_netdev_ops_routed;
+ netdev->addr_len = 0;
+ netdev->mtu = 1500;
+ netdev->type = ARPHRD_PPP;