summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerry Jelinek <jerry.jelinek@joyent.com>2012-08-09 16:02:14 +0000
committerJerry Jelinek <jerry.jelinek@joyent.com>2012-08-09 16:02:14 +0000
commitd9f9bbeb3275c84a8ce1a0975d43abbdf712ab41 (patch)
treed98eb7dd90d86215bb9999a95e96392130a9ac17
parent281d692636513b749e11b75b758cd009114b2216 (diff)
downloadillumos-joyent-release-20120809.tar.gz
OS-1464 Fix IPMI detection on HP N36L / N40L20120809release-20120809
-rw-r--r--usr/src/uts/intel/io/ipmi/ipmi_main.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/usr/src/uts/intel/io/ipmi/ipmi_main.c b/usr/src/uts/intel/io/ipmi/ipmi_main.c
index 93c831a941..de72ff5053 100644
--- a/usr/src/uts/intel/io/ipmi/ipmi_main.c
+++ b/usr/src/uts/intel/io/ipmi/ipmi_main.c
@@ -82,6 +82,16 @@ get_smbios_ipmi_info()
cmn_err(CE_CONT, "!SMBIOS type 0x%x, addr 0x%llx", ipmi.smbip_type,
(long long unsigned int)(ipmi.smbip_addr));
+ /*
+ * Some systems have a bios that will report an IPMI device even when
+ * it is not installed. In this case we see 0x0 as the base address.
+ * If we see this address, assume the device is not really present.
+ */
+ if (ipmi.smbip_addr == NULL) {
+ cmn_err(CE_WARN, "!SMBIOS: Invalid base address");
+ return;
+ }
+
sc->ipmi_io_type = ipmi.smbip_type;
switch (ipmi.smbip_type) {
case SMB_IPMI_T_KCS: