Package: linux-2.6 Version: 2.6.32-35 Tags: patch, fixed-upstream Hello,
Due to a regression introduced in kernel 2.6.30, attempts to activate a nasX interface created by br2684ctl in routed mode may fail because of improper hardware address validation (a routed point-to-point interface obviously has no hardware address). Activation works for a virtual ATM interface created by atmtcp from atm-tools, but fails for the "real" ATM interface created by my ADSL USB modem. A workaround is to set a hardware address before activating the interface. The bug was fixed upstream in kernel 2.6.33 by the following patch, which has not been backported in upstream 2.6.32-stable yet (I have submitted a request to include it). Regards. --------------- commit 2e302ebfeac04beb5a5d6af1ac583c6a1fb76d1a upstream Author: chas williams - CONTRACTOR <c...@cmf.nrl.navy.mil> Date: Fri, 4 Dec 2009 11:06:32 +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 <mfuen...@agenciaefe.com> Signed-off-by: Chas Williams - CONTRACTOR <c...@cmf.nrl.navy.mil> Signed-off-by: David S. Miller <da...@davemloft.net> --- net/atm/br2684.c | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-) diff --git a/net/atm/br2684.c b/net/atm/br2684.c index 26a646d..c9230c3 100644 --- a/net/atm/br2684.c +++ b/net/atm/br2684.c @@ -554,6 +554,12 @@ static const struct net_device_ops br2684_netdev_ops = { .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_device *netdev) 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; -- To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4e3c62b9.2070...@plouf.fr.eu.org