]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ipmi: Fix how the lower layers are told to watch for messages
authorCorey Minyard <cminyard@mvista.com>
Tue, 23 Oct 2018 16:29:02 +0000 (11:29 -0500)
committerCorey Minyard <cminyard@mvista.com>
Sun, 10 Feb 2019 01:48:42 +0000 (19:48 -0600)
commitc65ea996595005be470fbfa16711deba414fd33b
tree55b50d2d008afe4411e7085bf48f1f7e9e032f11
parenta1466ec5b671651b848df17fc9233ecbb7d35f9f
ipmi: Fix how the lower layers are told to watch for messages

The IPMI driver has a mechanism to tell the lower layers it needs
to watch for messages, commands, and watchdogs (so it doesn't
needlessly poll).  However, it needed some extensions, it needed
a way to tell what is being waited for so it could set the timeout
appropriately.

The update to the lower layer was also being done once a second
at best because it was done in the main timeout handler.  However,
if a command is sent and a response message is coming back,
it needed to be started immediately.  So modify the code to
update immediately if it needs to be enabled.  Disable is still
lazy.

Signed-off-by: Corey Minyard <cminyard@mvista.com>
Tested-by: Kamlakant Patel <kamlakant.patel@cavium.com>
drivers/char/ipmi/ipmi_msghandler.c
drivers/char/ipmi/ipmi_si_intf.c
drivers/char/ipmi/ipmi_ssif.c
include/linux/ipmi_smi.h