ipmi: Don't allow device module unload when in use
authorCorey Minyard <cminyard@mvista.com>
Mon, 14 Oct 2019 15:35:56 +0000 (10:35 -0500)
committerCorey Minyard <cminyard@mvista.com>
Tue, 22 Oct 2019 19:42:34 +0000 (14:42 -0500)
commitcbb79863fc3175ed5ac506465948b02a893a8235
tree231d5e6f22e6dc994ff807981a7ed908690beb87
parent3b7c59a1950c75f2c0152e5a9cd77675b09233d6
ipmi: Don't allow device module unload when in use

If something has the IPMI driver open, don't allow the device
module to be unloaded.  Before it would unload and the user would
get errors on use.

This change is made on user request, and it makes it consistent
with the I2C driver, which has the same behavior.

It does change things a little bit with respect to kernel users.
If the ACPI or IPMI watchdog (or any other kernel user) has
created a user, then the device module cannot be unloaded.  Before
it could be unloaded,

This does not affect hot-plug.  If the device goes away (it's on
something removable that is removed or is hot-removed via sysfs)
then it still behaves as it did before.

Reported-by: tony camuso <tcamuso@redhat.com>
Signed-off-by: Corey Minyard <cminyard@mvista.com>
Tested-by: tony camuso <tcamuso@redhat.com>
drivers/char/ipmi/ipmi_msghandler.c
include/linux/ipmi_smi.h