diff --git a/lib/ipmi_main.c b/lib/ipmi_main.c index 1f019ad..a752b59 100644 --- a/lib/ipmi_main.c +++ b/lib/ipmi_main.c @@ -952,20 +952,23 @@ ipmi_main(int argc, char ** argv, goto out_free; } } - /* - * Attempt picmg/vita discovery of the actual interface address unless - * the users specified an address. - * Address specification always overrides discovery - */ - if (picmg_discover(ipmi_main_intf)) { - ipmi_main_intf->picmg_avail = 1; - } else if (vita_discover(ipmi_main_intf)) { - ipmi_main_intf->vita_avail = 1; + + if (!ipmi_oem_active(ipmi_main_intf, "i82571spt")) { + /* + * Attempt picmg/vita discovery of the actual interface + * address, unless the users specified an address. + * Address specification always overrides discovery + */ + if (picmg_discover(ipmi_main_intf)) { + ipmi_main_intf->picmg_avail = 1; + } else if (vita_discover(ipmi_main_intf)) { + ipmi_main_intf->vita_avail = 1; + } } if (arg_addr) { addr = arg_addr; - } else { + } else if (!ipmi_oem_active(ipmi_main_intf, "i82571spt")) { lprintf(LOG_DEBUG, "Acquire IPMB address"); addr = ipmi_acquire_ipmb_address(ipmi_main_intf); lprintf(LOG_INFO, "Discovered IPMB address 0x%x", addr); diff --git a/src/plugins/lanplus/lanplus.c b/src/plugins/lanplus/lanplus.c index 490d3f5..8776212 100644 --- a/src/plugins/lanplus/lanplus.c +++ b/src/plugins/lanplus/lanplus.c @@ -3471,13 +3471,17 @@ ipmi_lanplus_open(struct ipmi_intf * intf) if (rc < 0) { goto fail; } - } - intf->manufacturer_id = ipmi_get_oem(intf); - /* automatically detect interface request and response sizes */ - hpm2_detect_max_payload_size(intf); + /* automatically detect interface request and response sizes */ + hpm2_detect_max_payload_size(intf); + } bridgePossible = 1; + + if (!ipmi_oem_active(intf, "i82571spt")) { + intf->manufacturer_id = ipmi_get_oem(intf); + } + return intf->fd; fail: