[backfire] backport r26906
[openwrt/svn-archive/archive.git] / target / linux / generic-2.6 / patches-2.6.32 / 640-br2684_backport_routed.patch
1 commit 2e302ebfeac04beb5a5d6af1ac583c6a1fb76d1a
2 Author: chas williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
3 Date: Fri Dec 4 11:06:32 2009 +0000
4
5 atm: [br2684] allow routed mode operation again
6
7 in routed mode, we don't have a hardware address so netdev_ops doesnt
8 need to validate our hardware address via .ndo_validate_addr
9
10 Reported-by: Manuel Fuentes <mfuentes@agenciaefe.com>
11 Signed-off-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
12 Signed-off-by: David S. Miller <davem@davemloft.net>
13
14 --- a/net/atm/br2684.c
15 +++ b/net/atm/br2684.c
16 @@ -554,6 +554,12 @@ static const struct net_device_ops br268
17 .ndo_validate_addr = eth_validate_addr,
18 };
19
20 +static const struct net_device_ops br2684_netdev_ops_routed = {
21 + .ndo_start_xmit = br2684_start_xmit,
22 + .ndo_set_mac_address = br2684_mac_addr,
23 + .ndo_change_mtu = eth_change_mtu
24 +};
25 +
26 static void br2684_setup(struct net_device *netdev)
27 {
28 struct br2684_dev *brdev = BRPRIV(netdev);
29 @@ -569,11 +575,10 @@ static void br2684_setup(struct net_devi
30 static void br2684_setup_routed(struct net_device *netdev)
31 {
32 struct br2684_dev *brdev = BRPRIV(netdev);
33 - brdev->net_dev = netdev;
34
35 + brdev->net_dev = netdev;
36 netdev->hard_header_len = 0;
37 -
38 - netdev->netdev_ops = &br2684_netdev_ops;
39 + netdev->netdev_ops = &br2684_netdev_ops_routed;
40 netdev->addr_len = 0;
41 netdev->mtu = 1500;
42 netdev->type = ARPHRD_PPP;