diff options
Diffstat (limited to 'net/ipv4/ipconfig.c')
-rw-r--r-- | net/ipv4/ipconfig.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c index abe93ec27..51e27ad67 100644 --- a/net/ipv4/ipconfig.c +++ b/net/ipv4/ipconfig.c @@ -1,5 +1,5 @@ /* - * $Id: ipconfig.c,v 1.20 1999/03/28 10:18:28 davem Exp $ + * $Id: ipconfig.c,v 1.22 1999/06/09 10:10:57 davem Exp $ * * Automatic Configuration of IP -- use BOOTP or RARP or user-supplied * information to configure own IP address and routes. @@ -112,7 +112,8 @@ static int __init ic_open_devs(void) unsigned short oflags; last = &ic_first_dev; - for (dev = dev_base; dev; dev = dev->next) + read_lock(&dev_base_lock); + for (dev = dev_base; dev; dev = dev->next) { if (user_dev_name[0] ? !strcmp(dev->name, user_dev_name) : (!(dev->flags & IFF_LOOPBACK) && (dev->flags & (IFF_POINTOPOINT|IFF_BROADCAST)) && @@ -142,6 +143,9 @@ static int __init ic_open_devs(void) ic_proto_have_if |= able; DBG(("IP-Config: Opened %s (able=%d)\n", dev->name, able)); } + } + read_unlock(&dev_base_lock); + *last = NULL; if (!ic_first_dev) { |