[PATCH] ACPI / IPMI: change warning to debug on timeout
From: Corey Minyard <hidden>
Date: 2017-03-28 20:01:09
Also in:
linux-acpi, linux-arm-msm, lkml
On 03/25/2017 09:08 AM, Sinan Kaya wrote:
On 3/24/2017 10:55 PM, Corey Minyard wrote:quoted
Why would a timeout for a message be expected? The BMC should at least respond with an error for an incorrect message.Let me add some more context... In this particular case, the FRU ID that I was trying to access was correct. Platform supports PCIe hotplug. The FRU is embedded into the HW that is being removed. That's what I mean by non-existent. When the device is ejected and a FRU command is executed, BMC times out reaching to the FRU on the device. When the device is inserted, everything works as expected.
I haven't added this yet. Someone who knows more about the ACPI side of IPMI should probably comment. So I've added Lv Zheng. This is ok with me, though. If you remove a management controller, a timeout is expected. However, if the management controller is still present, a timeout is probably not the best error code, "destination unavailable" is probably a better choice. So: Acked-by: Corey Minyard <redacted> -corey
quoted
-corey On 03/23/2017 10:32 AM, Sinan Kaya wrote:quoted
Getting timeout message from BMC when trying to read from a non-existent FRU. This is expected but warning is not. Let's reduce the warning to debug. Signed-off-by: Sinan Kaya <redacted> --- drivers/acpi/acpi_ipmi.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)diff --git a/drivers/acpi/acpi_ipmi.c b/drivers/acpi/acpi_ipmi.c index 747c2ba..1b64419 100644 --- a/drivers/acpi/acpi_ipmi.c +++ b/drivers/acpi/acpi_ipmi.c@@ -429,8 +429,7 @@ static void ipmi_msg_handler(struct ipmi_recv_msg *msg, void *user_msg_data) if (msg->recv_type == IPMI_RESPONSE_RECV_TYPE && msg->msg.data_len == 1) { if (msg->msg.data[0] == IPMI_TIMEOUT_COMPLETION_CODE) { - dev_WARN_ONCE(dev, true, - "Unexpected response (timeout).\n"); + dev_dbg_once(dev, "Unexpected response (timeout).\n"); tx_msg->msg_done = ACPI_IPMI_TIMEOUT; } goto out_comp;