diff options
| author | Corey Minyard <corey@minyard.net> | 2026-02-06 09:59:32 -0600 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2026-03-19 16:08:33 +0100 |
| commit | 9b7855110fd75d6cbe5514b36d3b7944176992c1 (patch) | |
| tree | 095fe2a6e7d31da103a82c3e862e0b0b684a5ef3 /drivers/char | |
| parent | bc001cd1a48240c388804b3e438ae3e1c1a5bb48 (diff) | |
| download | linux-9b7855110fd75d6cbe5514b36d3b7944176992c1.tar.gz linux-9b7855110fd75d6cbe5514b36d3b7944176992c1.tar.bz2 linux-9b7855110fd75d6cbe5514b36d3b7944176992c1.zip | |
ipmi:si: Handle waiting messages when BMC failure detected
commit 52c9ee202edd21d0599ac3b5a6fe1da2a2f053e5 upstream.
If a BMC failure is detected, the current message is returned with an
error. However, if there was a waiting message, it would not be
handled.
Add a check for the waiting message after handling the current message.
Suggested-by: Guenter Roeck <linux@roeck-us.net>
Reported-by: Rafael J. Wysocki <rafael@kernel.org>
Closes: https://lore.kernel.org/linux-acpi/CAK8fFZ58fidGUCHi5WFX0uoTPzveUUDzT=k=AAm4yWo3bAuCFg@mail.gmail.com/
Fixes: bc3a9d217755 ("ipmi:si: Gracefully handle if the BMC is non-functional")
Cc: stable@vger.kernel.org # 4.18
Signed-off-by: Corey Minyard <corey@minyard.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/char')
| -rw-r--r-- | drivers/char/ipmi/ipmi_si_intf.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c index 620b4e3d4a04..0a98430794ec 100644 --- a/drivers/char/ipmi/ipmi_si_intf.c +++ b/drivers/char/ipmi/ipmi_si_intf.c @@ -810,6 +810,12 @@ restart: */ return_hosed_msg(smi_info, IPMI_BUS_ERR); } + if (smi_info->waiting_msg != NULL) { + /* Also handle if there was a message waiting. */ + smi_info->curr_msg = smi_info->waiting_msg; + smi_info->waiting_msg = NULL; + return_hosed_msg(smi_info, IPMI_BUS_ERR); + } smi_mod_timer(smi_info, jiffies + SI_TIMEOUT_HOSED); goto out; } |
