]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
ipmi: Stop the timer immediately if idle
authorCorey Minyard <cminyard@mvista.com>
Sat, 5 Sep 2015 22:58:13 +0000 (17:58 -0500)
committerCorey Minyard <cminyard@mvista.com>
Fri, 23 Oct 2015 20:24:22 +0000 (15:24 -0500)
The IPMI driver would let the final timeout just happen, but it could
easily just stop the timer.  If the timer stop fails that's ok, that
should be rare.

Signed-off-by: Corey Minyard <cminyard@mvista.com>
drivers/char/ipmi/ipmi_si_intf.c

index 20c3d7b97602ea44bd07f816aeabbb2573997346..71b59cb6ae0c08a8d48831d2d0b6e7e2fe1d8981 100644 (file)
@@ -935,6 +935,13 @@ static enum si_sm_result smi_event_handler(struct smi_info *smi_info,
                }
                goto restart;
        }
+
+       if (si_sm_result == SI_SM_IDLE && smi_info->timer_running) {
+               /* Ok it if fails, the timer will just go off. */
+               if (del_timer(&smi_info->si_timer))
+                       smi_info->timer_running = false;
+       }
+
  out:
        return si_sm_result;
 }