Messages in this thread Patch in this message | ![/](/images/icornerl.gif) | | From | Dinghao Liu <> | Subject | [PATCH] [v2] ALSA: echoaudio: Fix potential Oops in snd_echo_resume() | Date | Thu, 13 Aug 2020 15:46:30 +0800 |
| |
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: 47b5d028fdce8 ("ALSA: Echoaudio - Add suspend support #2") Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn> ---
Changelog:
v2: - Remove snd_echo_free() calls in all error paths. --- sound/pci/echoaudio/echoaudio.c | 2 -- 1 file changed, 2 deletions(-)
diff --git a/sound/pci/echoaudio/echoaudio.c b/sound/pci/echoaudio/echoaudio.c index 6aeb99aa2414..868f1dcd27d6 100644 --- a/sound/pci/echoaudio/echoaudio.c +++ b/sound/pci/echoaudio/echoaudio.c @@ -2213,7 +2213,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; } @@ -2240,7 +2239,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; -- 2.17.1
| ![\](/images/icornerr.gif) |