diff --git a/include/ipmitool/hpm2.h b/include/ipmitool/hpm2.h index 1c0a612..9e2a3a6 100644 --- a/include/ipmitool/hpm2.h +++ b/include/ipmitool/hpm2.h @@ -39,6 +39,11 @@ #define HPM2_LAN_PARAMS_REV 0x01 #define HPM2_SOL_PARAMS_REV 0x01 #define HPM3_LAN_PARAMS_REV 0x01 +/* IPMI defines parameter revision as + * MSN = present revision, + * LSN = oldest revision parameter is + * backward compatible with. */ +#define LAN_PARAM_REV(x, y) ((x) << 4 | (y) & 0xF) /* HPM.2 capabilities */ #define HPM2_CAPS_SOL_EXTENSION 0x01 diff --git a/lib/hpm2.c b/lib/hpm2.c index e7d6c03..6cb2f80 100644 --- a/lib/hpm2.c +++ b/lib/hpm2.c @@ -30,6 +30,7 @@ * EVEN IF PPS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. */ +#include #include #include #include @@ -233,7 +234,8 @@ int hpm2_get_lan_channel_capabilities(struct ipmi_intf * intf, } /* check parameter revision */ - if (rsp->data[0] != HPM2_LAN_PARAMS_REV) { + if (rsp->data[0] != + LAN_PARAM_REV(HPM2_LAN_PARAMS_REV, HPM2_LAN_PARAMS_REV)) { lprintf(LOG_NOTICE, "Bad HPM.2 LAN parameter revision, rev=%d", rsp->data[0]); return -1;