discover/ipmi: Increase IPMI timeout to a reasonable value
authorJeremy Kerr <jk@ozlabs.org>
Wed, 30 Sep 2015 00:38:36 +0000 (08:38 +0800)
committerJeremy Kerr <jk@ozlabs.org>
Wed, 30 Sep 2015 05:23:49 +0000 (13:23 +0800)
We've seen some IPMI timeouts during testing - meaning that an IPMI
bootdev setting will be ignored. This can result in a machine booting
from an incorrect boot device, or missing a 'safe mode' indication, or
incorrectly proceeding past petitboot.

The firmware & kernel has its own timeout & retry mechanism, so we
already have a little error-recovery there; the timeout in petitboot is
to prevent an indefinite block if the kernel interface isn't behaving
correctly.

So, this change bumps the timeout to a value that suits BMCs we've seen
in the field (specifying a 2 second timeout, with one retry).

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
discover/platform-powerpc.c

index d45cced422917076e3743917a948fc6beefca170..23e63c1be152bdbf7e1b4bc0cd3e0e69c4f20eda 100644 (file)
@@ -22,7 +22,7 @@
 static const char *partition = "common";
 static const char *sysparams_dir = "/sys/firmware/opal/sysparams/";
 static const char *devtree_dir = "/proc/device-tree/";
 static const char *partition = "common";
 static const char *sysparams_dir = "/sys/firmware/opal/sysparams/";
 static const char *devtree_dir = "/proc/device-tree/";
-static const int ipmi_timeout = 500; /* milliseconds */
+static const int ipmi_timeout = 5000; /* milliseconds. */
 
 struct param {
        char                    *name;
 
 struct param {
        char                    *name;