[br2684] allow routed mode operation again
authorHauke Mehrtens <hauke@hauke-m.de>
Sat, 20 Feb 2010 13:18:34 +0000 (13:18 +0000)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 20 Feb 2010 13:18:34 +0000 (13:18 +0000)
Fix part of bug #6709.

SVN-Revision: 19779

package/busybox/patches/250-ash_export-n.patch
package/busybox/patches/510-awk_include.patch
target/linux/generic-2.6/patches-2.6.30/640-br2684_backport_routed.patch [new file with mode: 0644]
target/linux/generic-2.6/patches-2.6.31/640-br2684_backport_routed.patch [new file with mode: 0644]
target/linux/generic-2.6/patches-2.6.32/640-br2684_backport_routed.patch [new file with mode: 0644]

index 6a420e221f47109ed68ed777692d86dd8d329251..92b198ce5756a61de1510f2cffecfcaccff91d54 100644 (file)
@@ -1,6 +1,6 @@
 --- a/shell/ash.c
 +++ b/shell/ash.c
-@@ -12360,8 +12360,17 @@ exportcmd(int argc UNUSED_PARAM, char **
+@@ -12351,8 +12351,17 @@ exportcmd(int argc UNUSED_PARAM, char **
        const char *p;
        char **aptr;
        int flag = argv[0][0] == 'r' ? VREADONLY : VEXPORT;
@@ -19,7 +19,7 @@
                aptr = argptr;
                name = *aptr;
                if (name) {
-@@ -12373,10 +12382,12 @@ exportcmd(int argc UNUSED_PARAM, char **
+@@ -12364,10 +12373,12 @@ exportcmd(int argc UNUSED_PARAM, char **
                                        vp = *findvar(hashvar(name), name);
                                        if (vp) {
                                                vp->flags |= flag;
index 50f6cc549af001c57925a13cbb50788f9e655d85..b9d7d7137e11f5aba57c48d772276ca732072743 100644 (file)
@@ -34,7 +34,7 @@
                        chain_group();
                        clear_array(ahash);
  
-@@ -2408,7 +2414,8 @@ static var *evaluate(node *op, var *res)
+@@ -2410,7 +2416,8 @@ static var *evaluate(node *op, var *res)
                        break;
  
                case XC( OC_FUNC ):
@@ -44,7 +44,7 @@
                                syntax_error(EMSG_UNDEF_FUNC);
  
                        X.v = R.v = nvalloc(op->r.f->nargs+1);
-@@ -2425,7 +2432,10 @@ static var *evaluate(node *op, var *res)
+@@ -2427,7 +2434,10 @@ static var *evaluate(node *op, var *res)
                        fnargs = X.v;
  
                        L.s = g_progname;
@@ -56,7 +56,7 @@
                        g_progname = L.s;
  
                        nvfree(fnargs);
-@@ -2788,6 +2798,143 @@ static rstream *next_input_file(void)
+@@ -2790,6 +2800,143 @@ static rstream *next_input_file(void)
  #undef files_happen
  }
  
  int awk_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
  int awk_main(int argc, char **argv)
  {
-@@ -2853,6 +3000,9 @@ int awk_main(int argc, char **argv)
+@@ -2855,6 +3002,9 @@ int awk_main(int argc, char **argv)
                        *s1 = '=';
                }
        }
diff --git a/target/linux/generic-2.6/patches-2.6.30/640-br2684_backport_routed.patch b/target/linux/generic-2.6/patches-2.6.30/640-br2684_backport_routed.patch
new file mode 100644 (file)
index 0000000..d925144
--- /dev/null
@@ -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
+@@ -544,6 +544,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);
+@@ -559,11 +565,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;
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 (file)
index 0000000..1623e7f
--- /dev/null
@@ -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;
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 (file)
index 0000000..28dd74d
--- /dev/null
@@ -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;