forked from rubenslte/android_kernel_samsung_msm8226
Merge branch 'Linux 3.0.21' into msm-3.0
Merge Upstream's stable 3.0.21 branch into msm-3.0 This consists 814 commits and some merge conflicts. The merge conflicts are because of some local changes to msm-3.0 as well as some conflicts between google's tree and the upstream tree. Conflicts: arch/arm/kernel/head.S drivers/bluetooth/ath3k.c drivers/bluetooth/btusb.c drivers/mmc/core/core.c drivers/tty/serial/serial_core.c drivers/usb/host/ehci-hub.c drivers/usb/serial/qcserial.c fs/namespace.c fs/proc/base.c Change-Id: I62e2edbe213f84915e27f8cd6e4f6ce23db22a21 Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
This commit is contained in:
+31
-4
@@ -360,15 +360,42 @@ out:
|
||||
}
|
||||
|
||||
#ifdef CONFIG_ROOT_NFS
|
||||
|
||||
#define NFSROOT_TIMEOUT_MIN 5
|
||||
#define NFSROOT_TIMEOUT_MAX 30
|
||||
#define NFSROOT_RETRY_MAX 5
|
||||
|
||||
static int __init mount_nfs_root(void)
|
||||
{
|
||||
char *root_dev, *root_data;
|
||||
unsigned int timeout;
|
||||
int try, err;
|
||||
|
||||
if (nfs_root_data(&root_dev, &root_data) != 0)
|
||||
err = nfs_root_data(&root_dev, &root_data);
|
||||
if (err != 0)
|
||||
return 0;
|
||||
if (do_mount_root(root_dev, "nfs", root_mountflags, root_data) != 0)
|
||||
return 0;
|
||||
return 1;
|
||||
|
||||
/*
|
||||
* The server or network may not be ready, so try several
|
||||
* times. Stop after a few tries in case the client wants
|
||||
* to fall back to other boot methods.
|
||||
*/
|
||||
timeout = NFSROOT_TIMEOUT_MIN;
|
||||
for (try = 1; ; try++) {
|
||||
err = do_mount_root(root_dev, "nfs",
|
||||
root_mountflags, root_data);
|
||||
if (err == 0)
|
||||
return 1;
|
||||
if (try > NFSROOT_RETRY_MAX)
|
||||
break;
|
||||
|
||||
/* Wait, in case the server refused us immediately */
|
||||
ssleep(timeout);
|
||||
timeout <<= 1;
|
||||
if (timeout > NFSROOT_TIMEOUT_MAX)
|
||||
timeout = NFSROOT_TIMEOUT_MAX;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user