ipmi: Don't initialize anything in the core until something uses it
authorCorey Minyard <cminyard@mvista.com>
Thu, 20 Dec 2018 22:50:23 +0000 (16:50 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 26 Jan 2019 08:32:44 +0000 (09:32 +0100)
commitb40aec33eeb512b53edd1e0555aaaf4e3127e765
tree16be5ca9e8b8c0daa95e5e786e7a340469b9d978
parent031a94ff8ac4278198ff1df422c3d19202618256
ipmi: Don't initialize anything in the core until something uses it

commit 913a89f009d98c85a902d718cd54bb32ab11d167 upstream.

The IPMI driver was recently modified to use SRCU, but it turns out
this uses a chunk of percpu memory, even if IPMI is never used.

So modify thing to on initialize on the first use.  There was already
code to sort of handle this for handling init races, so piggy back
on top of that, and simplify it in the process.

Signed-off-by: Corey Minyard <cminyard@mvista.com>
Reported-by: Tejun Heo <tj@kernel.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: stable@vger.kernel.org # 4.18
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/char/ipmi/ipmi_msghandler.c