Messages in this thread Patch in this message | | | Date | Wed, 13 Nov 1996 21:43:44 GMT | From | Pedro Roque <> | Subject | Re: IPV6, PPP and aiieeh killing interrupt |
| |
Could the folks with problems with ppp and ipv6 try the following patch, please. should cure the "interrupt" problems.
thanks, Pedro.
Index: net/ipv6/addrconf.c =================================================================== RCS file: /public/cvsroot/linux/net/ipv6/addrconf.c,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- addrconf.c 1996/11/06 16:28:42 1.26 +++ addrconf.c 1996/11/13 21:42:26 1.27 @@ -774,7 +774,7 @@ } -static void addrconf_ifdown(struct device *dev) +static int addrconf_ifdown(struct device *dev) { struct inet6_dev *idev, **bidev; struct inet6_ifaddr *ifa, **bifa; @@ -796,8 +796,9 @@ if (idev == NULL) { - printk(KERN_DEBUG "addrconf_ifdown: device not found\n"); - return; + printk(KERN_DEBUG "addrconf_ifdown: device not found\n"); + end_bh_atomic(); + return -ENODEV; } /* @@ -828,6 +829,7 @@ kfree(idev); end_bh_atomic(); + return 0; } /* @@ -1024,9 +1026,12 @@ * Remove all addresses from this interface * and take the interface out of the list. */ - addrconf_ifdown(dev); - rt6_ifdown(dev); - rt6_sndmsg(RTMSG_NEWDEVICE, NULL, NULL, 0, 0, dev->name, 0); + if (addrconf_ifdown(dev) == 0) + { + rt6_ifdown(dev); + rt6_sndmsg(RTMSG_NEWDEVICE, NULL, NULL, 0, 0, + dev->name, 0); + } break; }
| |