Skip to content

Commit

Permalink
ALSA: echoaudio: Fix potential Oops in snd_echo_resume()
Browse files Browse the repository at this point in the history
Freeing chip on error may lead to an Oops at the next time
the system goes to resume. Fix this by removing all
snd_echo_free() calls on error.

Fixes: 47b5d02 ("ALSA: Echoaudio - Add suspend support whatawurst#2")
Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Link: https://lore.kernel.org/r/20200813074632.17022-1-dinghao.liu@zju.edu.cn
Signed-off-by: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
dinghaoliu authored and tiwai committed Aug 13, 2020
1 parent d96f27c commit 5a25de6
Showing 1 changed file with 0 additions and 2 deletions.
2 changes: 0 additions & 2 deletions sound/pci/echoaudio/echoaudio.c
Original file line number Diff line number Diff line change
Expand Up @@ -2212,7 +2212,6 @@ static int snd_echo_resume(struct device *dev)
if (err < 0) {
kfree(commpage_bak);
dev_err(dev, "resume init_hw err=%d\n", err);
snd_echo_free(chip);
return err;
}

Expand All @@ -2239,7 +2238,6 @@ static int snd_echo_resume(struct device *dev)
if (request_irq(pci->irq, snd_echo_interrupt, IRQF_SHARED,
KBUILD_MODNAME, chip)) {
dev_err(chip->card->dev, "cannot grab irq\n");
snd_echo_free(chip);
return -EBUSY;
}
chip->irq = pci->irq;
Expand Down

0 comments on commit 5a25de6

Please sign in to comment.