ALSA: wss: Fix invalid snd_free_pages() at error path

Some spurious calls of snd_free_pages() have been overlooked and
remain in the error paths of wss driver code.  Since runtime->dma_area
is managed by the PCM core helper, we shouldn't release manually.

Drop the superfluous calls.

Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Iwai 2018-11-23 18:16:33 +01:00
parent 8cd65271f8
commit 7b69154171

View File

@ -1531,7 +1531,6 @@ static int snd_wss_playback_open(struct snd_pcm_substream *substream)
if (err < 0) { if (err < 0) {
if (chip->release_dma) if (chip->release_dma)
chip->release_dma(chip, chip->dma_private_data, chip->dma1); chip->release_dma(chip, chip->dma_private_data, chip->dma1);
snd_free_pages(runtime->dma_area, runtime->dma_bytes);
return err; return err;
} }
chip->playback_substream = substream; chip->playback_substream = substream;
@ -1572,7 +1571,6 @@ static int snd_wss_capture_open(struct snd_pcm_substream *substream)
if (err < 0) { if (err < 0) {
if (chip->release_dma) if (chip->release_dma)
chip->release_dma(chip, chip->dma_private_data, chip->dma2); chip->release_dma(chip, chip->dma_private_data, chip->dma2);
snd_free_pages(runtime->dma_area, runtime->dma_bytes);
return err; return err;
} }
chip->capture_substream = substream; chip->capture_substream = substream;