From 63ba1cc610b7a9ae6beee0d4941e23b3e1469897 Mon Sep 17 00:00:00 2001 From: Zdenek Styblik Date: Sun, 2 Jun 2013 13:19:57 +0000 Subject: [PATCH] ID: 3587318 - "dcmi discover" is not DCMI 1.5 compatible Command "dcmi discover" fails with ``ERROR! This command is not available on this platform'' unless the DCMI implementation advertises DCMI 1.0 or 1.1 conformance. This means command will fail DCMI 1.5 capable hardware. Commit fixes this issue. Commit for Rob Swindell --- ipmitool/include/ipmitool/ipmi_dcmi.h | 1 + ipmitool/lib/ipmi_dcmi.c | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ipmitool/include/ipmitool/ipmi_dcmi.h b/ipmitool/include/ipmitool/ipmi_dcmi.h index 58ff2c6..ce90857 100644 --- a/ipmitool/include/ipmitool/ipmi_dcmi.h +++ b/ipmitool/include/ipmitool/ipmi_dcmi.h @@ -44,6 +44,7 @@ #define IPMI_DCMI_CONFORM 0x0001 #define IPMI_DCMI_1_1_CONFORM 0x0101 +#define IPMI_DCMI_1_5_CONFORM 0x0501 #define DCMI_MAX_BYTE_SIZE 0x10 #define DCMI_MAX_BYTE_TEMP_READ_SIZE 0x08 diff --git a/ipmitool/lib/ipmi_dcmi.c b/ipmitool/lib/ipmi_dcmi.c index 84c6d9a..7a16d20 100755 --- a/ipmitool/lib/ipmi_dcmi.c +++ b/ipmitool/lib/ipmi_dcmi.c @@ -546,8 +546,10 @@ ipmi_dcmi_prnt_getcapabilities(struct ipmi_intf * intf, uint8_t selector) { struct capabilities cape; memcpy(&cape, rsp->data, sizeof (cape)); - /* check to make sure that this is a 1.0 and 1.1 command */ - if ((cape.conformance != IPMI_DCMI_CONFORM) && (cape.conformance != IPMI_DCMI_1_1_CONFORM)) { + /* check to make sure that this is a 1.0/1.1/1.5 command */ + if ((cape.conformance != IPMI_DCMI_CONFORM) + && (cape.conformance != IPMI_DCMI_1_1_CONFORM) + && (cape.conformance != IPMI_DCMI_1_5_CONFORM)) { printf("ERROR! This command is not available on this platform\n"); return -1; }