| From 2e302ebfeac04beb5a5d6af1ac583c6a1fb76d1a Mon Sep 17 00:00:00 2001 |
| From: chas williams - CONTRACTOR <chas@cmf.nrl.navy.mil> |
| Date: Fri, 4 Dec 2009 11:06:32 +0000 |
| Subject: atm: [br2684] allow routed mode operation again |
| |
| From: chas williams - CONTRACTOR <chas@cmf.nrl.navy.mil> |
| |
| commit 2e302ebfeac04beb5a5d6af1ac583c6a1fb76d1a upstream. |
| |
| 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> |
| Cc: Pascal Hambourg <pascal@plouf.fr.eu.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| net/atm/br2684.c | 11 ++++++++--- |
| 1 file changed, 8 insertions(+), 3 deletions(-) |
| |
| --- 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; |