diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2010-02-20 13:18:34 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2010-02-20 13:18:34 +0000 |
commit | b52345c9ed59d27da97f266fc217216ef81ac0ec (patch) | |
tree | 8505af26d24c23feaadee0a71df65010ee08bbd8 /target/linux/generic-2.6/patches-2.6.31 | |
parent | 3651c9804b32db19fa2e2cfd41f7dec75d143d22 (diff) | |
download | upstream-b52345c9ed59d27da97f266fc217216ef81ac0ec.tar.gz upstream-b52345c9ed59d27da97f266fc217216ef81ac0ec.tar.bz2 upstream-b52345c9ed59d27da97f266fc217216ef81ac0ec.zip |
allow routed mode operation again
Fix part of bug #6709.
SVN-Revision: 19779
Diffstat (limited to 'target/linux/generic-2.6/patches-2.6.31')
-rw-r--r-- | target/linux/generic-2.6/patches-2.6.31/640-br2684_backport_routed.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/target/linux/generic-2.6/patches-2.6.31/640-br2684_backport_routed.patch b/target/linux/generic-2.6/patches-2.6.31/640-br2684_backport_routed.patch new file mode 100644 index 0000000000..1623e7f9b5 --- /dev/null +++ b/target/linux/generic-2.6/patches-2.6.31/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 +@@ -536,6 +536,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); +@@ -551,11 +557,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; |