Rarely but still failures are observed while getting BMC device ID
so this commit changes the condition to retry to get device id
when cc is not IPMI_CC_NO_ERROR.
Signed-off-by: Terry Duncan <terry.s.duncan@intel.com>
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
Message-Id: <
20210225045027.9344-1-jae.hyun.yoo@linux.intel.com>
Signed-off-by: Corey Minyard <cminyard@mvista.com>
wait_event(intf->waitq, bmc->dyn_id_set != 2);
if (!bmc->dyn_id_set) {
- if ((bmc->cc == IPMI_DEVICE_IN_FW_UPDATE_ERR
- || bmc->cc == IPMI_DEVICE_IN_INIT_ERR
- || bmc->cc == IPMI_NOT_IN_MY_STATE_ERR)
- && ++retry_count <= GET_DEVICE_ID_MAX_RETRY) {
+ if (bmc->cc != IPMI_CC_NO_ERROR &&
+ ++retry_count <= GET_DEVICE_ID_MAX_RETRY) {
msleep(500);
dev_warn(intf->si_dev,
"BMC returned 0x%2.2x, retry get bmc device id\n",
/* record completion code */
unsigned char cc = *(resp + 2);
- if ((cc == IPMI_DEVICE_IN_FW_UPDATE_ERR
- || cc == IPMI_DEVICE_IN_INIT_ERR
- || cc == IPMI_NOT_IN_MY_STATE_ERR)
- && ++retry_count <= GET_DEVICE_ID_MAX_RETRY) {
+ if (cc != IPMI_CC_NO_ERROR &&
+ ++retry_count <= GET_DEVICE_ID_MAX_RETRY) {
dev_warn(smi_info->io.dev,
"BMC returned 0x%2.2x, retry get bmc device id\n",
cc);