From: Terry Duncan Date: Thu, 25 Feb 2021 04:50:27 +0000 (-0800) Subject: ipmi: Refine retry conditions for getting device id X-Git-Tag: v5.13-rc1~110^2~12 X-Git-Url: https://gentwo.org/gitweb/?a=commitdiff_plain;h=c6ddd5f1c3f3254034f8e9ba741af4a3b0260998;p=linux%2F.git ipmi: Refine retry conditions for getting device id 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 Signed-off-by: Jae Hyun Yoo Message-Id: <20210225045027.9344-1-jae.hyun.yoo@linux.intel.com> Signed-off-by: Corey Minyard --- diff --git a/drivers/char/ipmi/ipmi_msghandler.c b/drivers/char/ipmi/ipmi_msghandler.c index c44ad18464f1..f19f0f967e28 100644 --- a/drivers/char/ipmi/ipmi_msghandler.c +++ b/drivers/char/ipmi/ipmi_msghandler.c @@ -2447,10 +2447,8 @@ static int __get_device_id(struct ipmi_smi *intf, struct bmc_device *bmc) 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", diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c index 5eac94cf4ff8..be41a473e3c2 100644 --- a/drivers/char/ipmi/ipmi_si_intf.c +++ b/drivers/char/ipmi/ipmi_si_intf.c @@ -1346,10 +1346,8 @@ static int try_get_dev_id(struct smi_info *smi_info) /* 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);