Commit a11aa853 authored by Takashi Iwai's avatar Takashi Iwai

ALSA: usx2y: Avoid self-killing

The initialization os usx2y driver is multi-staged, and the PCM and
other device creations are done after the DSP is loaded and
initialized.  Upon the initialization, when an error happens, the
driver tries to call snd_card_free().  But this is dangerous, and in
general, the driver cannot kill itself during its operation.
Hence better to drop the snd_card_free() call from there.

Link: https://lore.kernel.org/r/20210517131545.27252-6-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 4e268db7
...@@ -220,7 +220,6 @@ static int snd_usx2y_hwdep_dsp_load(struct snd_hwdep *hw, ...@@ -220,7 +220,6 @@ static int snd_usx2y_hwdep_dsp_load(struct snd_hwdep *hw,
err = usx2y_create_alsa_devices(hw->card); err = usx2y_create_alsa_devices(hw->card);
if (err) { if (err) {
snd_printk(KERN_ERR "usx2y_create_alsa_devices error %i\n", err); snd_printk(KERN_ERR "usx2y_create_alsa_devices error %i\n", err);
snd_card_free(hw->card);
return err; return err;
} }
priv->chip_status |= USX2Y_STAT_CHIP_INIT; priv->chip_status |= USX2Y_STAT_CHIP_INIT;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment