Since kthread_create can be failed, it needs to check whether error occurred and return error code.
Signed-off-by: Insu Yun wuninsu@gmail.com --- sound/pci/emu10k1/emu10k1_main.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/sound/pci/emu10k1/emu10k1_main.c b/sound/pci/emu10k1/emu10k1_main.c index 28e2f8b..b9eac15 100644 --- a/sound/pci/emu10k1/emu10k1_main.c +++ b/sound/pci/emu10k1/emu10k1_main.c @@ -1141,6 +1141,12 @@ static int snd_emu10k1_emu1010_init(struct snd_emu10k1 *emu) emu->emu1010.firmware_thread = kthread_create(emu1010_firmware_thread, emu, "emu1010_firmware"); + if (IS_ERR(emu->emu1010.firmware_thread)) { + dev_info(emu->card->dev, + "emu1010: Creating thread failed\n"); + return PTR_ERR(emu->emu1010.firmware_thread); + } + wake_up_process(emu->emu1010.firmware_thread); }