Skip to content

Commit c3bb329

Browse files
committed
ipmi:si: Use a long timeout when the BMC is misbehaving
If the driver goes into HOSED state, don't reset the timeout to the short timeout in the timeout handler. Reported-by: Igor Raits <[email protected]> Closes: https://lore.kernel.org/linux-acpi/CAK8fFZ58fidGUCHi5WFX0uoTPzveUUDzT=k=AAm4yWo3bAuCFg@mail.gmail.com/ Fixes: bc3a9d2 ("ipmi:si: Gracefully handle if the BMC is non-functional") Cc: [email protected] # 4.18 Signed-off-by: Corey Minyard <[email protected]>
1 parent 52c9ee2 commit c3bb329

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

drivers/char/ipmi/ipmi_si_intf.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1119,7 +1119,9 @@ static void smi_timeout(struct timer_list *t)
11191119
* SI_USEC_PER_JIFFY);
11201120
smi_result = smi_event_handler(smi_info, time_diff);
11211121

1122-
if ((smi_info->io.irq) && (!smi_info->interrupt_disabled)) {
1122+
if (smi_info->si_state == SI_HOSED) {
1123+
timeout = jiffies + SI_TIMEOUT_HOSED;
1124+
} else if ((smi_info->io.irq) && (!smi_info->interrupt_disabled)) {
11231125
/* Running with interrupts, only do long timeouts. */
11241126
timeout = jiffies + SI_TIMEOUT_JIFFIES;
11251127
smi_inc_stat(smi_info, long_timeouts);

0 commit comments

Comments
 (0)