@@ -1284,7 +1284,7 @@ static int __init ip_auto_config(void)
return 0;
DBG(("IP-Config: Entered.\n"));
-#ifdef IPCONFIG_DYNAMIC
+#if defined(IPCONFIG_DYNAMIC) || defined(CONFIG_ROOT_NFS)
try_try_again:
#endif
@@ -1295,8 +1295,16 @@ static int __init ip_auto_config(void)
msleep(ic_wait_pre);
/* Setup all network devices */
- if (ic_open_devs() < 0)
- return -1;
+ if (ic_open_devs() < 0) {
+#ifdef CONFIG_ROOT_NFS
+ if (ROOT_DEV == Root_NFS) {
+ printk(KERN_ERR "IP-Config: Could not open device, "
+ "Retrying forever (NFS root)...\n");
+ goto try_try_again;
+ } else
+#endif
+ return -1;
+ }
if (!ic_wait_post)
ic_wait_post = CONF_POST_OPEN;