commit 75d70d76cb7b927cace2cb34265d68ebb3306b13 upstream.
If the workqueue allocation fails, the driver is marked as not initialized,
and timer and panic_notifier will be left registered.
Instead of removing those when workqueue allocation fails, do the workqueue
initialization before doing it, and cleanup srcu_struct if it fails.
Fixes: 1d49eb91e86e ("ipmi: Move remove_work to dedicated workqueue")
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Cc: Corey Minyard <cminyard@mvista.com>
Cc: Ioanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
Cc: stable@vger.kernel.org
Message-Id: <20211217154410.1228673-2-cascardo@canonical.com>
Signed-off-by: Corey Minyard <cminyard@mvista.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||
|---|---|---|
| .. | ||
| Kconfig | ||
| Makefile | ||
| bt-bmc.c | ||
| ipmb_dev_int.c | ||
| ipmi_bt_sm.c | ||
| ipmi_devintf.c | ||
| ipmi_dmi.c | ||
| ipmi_dmi.h | ||
| ipmi_kcs_sm.c | ||
| ipmi_msghandler.c | ||
| ipmi_plat_data.c | ||
| ipmi_plat_data.h | ||
| ipmi_powernv.c | ||
| ipmi_poweroff.c | ||
| ipmi_si.h | ||
| ipmi_si_hardcode.c | ||
| ipmi_si_hotmod.c | ||
| ipmi_si_intf.c | ||
| ipmi_si_mem_io.c | ||
| ipmi_si_parisc.c | ||
| ipmi_si_pci.c | ||
| ipmi_si_platform.c | ||
| ipmi_si_port_io.c | ||
| ipmi_si_sm.h | ||
| ipmi_smic_sm.c | ||
| ipmi_ssif.c | ||
| ipmi_watchdog.c | ||
| kcs_bmc.c | ||
| kcs_bmc.h | ||
| kcs_bmc_aspeed.c | ||
| kcs_bmc_npcm7xx.c | ||