Re: 2.6.22-rc4-mm2 -- ipw2200 -- SIOCSIFADDR: No buffer space available

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2007.06.07 13:15:59 -0700, Andrew Morton wrote:
> On Thu, 7 Jun 2007 11:25:30 -0700
> "Miles Lane" <[email protected]> wrote:
> 
> > Hi Andrew,
> > 
> > This might be some problem with my kernel configuration.
> > I added:
> > CONFIG_BONDING=y
> > 
> > # dhclient eth1
> > There is already a pid file /var/run/dhclient.pid with pid 134993416
> > Internet Systems Consortium DHCP Client V3.0.4
> > Copyright 2004-2006 Internet Systems Consortium.
> > All rights reserved.
> > For info, please visit http://www.isc.org/sw/dhcp/
> > SIOCSIFADDR: No buffer space available
> > Listening on LPF/eth1/00:12:f0:5e:db:2f
> > Sending on   LPF/eth1/00:12:f0:5e:db:2f
> > Sending on   Socket/fallback
> > DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 6
> > DHCPOFFER from 192.168.1.1
> > DHCPREQUEST on eth1 to 255.255.255.255 port 67
> > DHCPACK from 192.168.1.1
> > SIOCSIFADDR: No buffer space available
> > SIOCSIFNETMASK: Cannot assign requested address
> > SIOCSIFBRDADDR: Cannot assign requested address
> > SIOCADDRT: Network is unreachable
> > bound to 192.168.1.2 -- renewal in 2993 seconds.
> > 
> > # ping www.yahoo.com
> > ping: unknown host www.yahoo.com
> > 
> > Any suggestions what to try now?  I'll go ahead and turn off the
> > bonding option and see if that helps.
> > 
> 
> It won't be related to bonding.
> 
> It has a high probability of being very related to Herbert's changes
> to inet_set_ifa().

Hm, as inetdev_init() is now only called at the time the device is
registered, it seems wrong that inetdev_destroy() is also called in
__inet_del_ifa() when all addresses got deleted.

Miles, could you try if this patch helps?

Björn


Stop destroying devices when all of their ifas are gone, as we no longer
recreate them when ifas are added.

Signed-off-by: Björn Steinbrink <[email protected]>
--
diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
index fa97b96..abf6352 100644
--- a/net/ipv4/devinet.c
+++ b/net/ipv4/devinet.c
@@ -327,12 +327,8 @@ static void __inet_del_ifa(struct in_device *in_dev, struct in_ifaddr **ifap,
 		}
 
 	}
-	if (destroy) {
+	if (destroy)
 		inet_free_ifa(ifa1);
-
-		if (!in_dev->ifa_list)
-			inetdev_destroy(in_dev);
-	}
 }
 
 static void inet_del_ifa(struct in_device *in_dev, struct in_ifaddr **ifap,
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux