| From 9a20332ab373b1f8f947e0a9c923652b32dab031 Mon Sep 17 00:00:00 2001 |
| From: Takashi Iwai <tiwai@suse.de> |
| Date: Fri, 23 Nov 2018 18:18:30 +0100 |
| Subject: ALSA: sparc: Fix invalid snd_free_pages() at error path |
| |
| From: Takashi Iwai <tiwai@suse.de> |
| |
| commit 9a20332ab373b1f8f947e0a9c923652b32dab031 upstream. |
| |
| Some spurious calls of snd_free_pages() have been overlooked and |
| remain in the error paths of sparc cs4231 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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/sparc/cs4231.c | 8 ++------ |
| 1 file changed, 2 insertions(+), 6 deletions(-) |
| |
| --- a/sound/sparc/cs4231.c |
| +++ b/sound/sparc/cs4231.c |
| @@ -1146,10 +1146,8 @@ static int snd_cs4231_playback_open(stru |
| runtime->hw = snd_cs4231_playback; |
| |
| err = snd_cs4231_open(chip, CS4231_MODE_PLAY); |
| - if (err < 0) { |
| - snd_free_pages(runtime->dma_area, runtime->dma_bytes); |
| + if (err < 0) |
| return err; |
| - } |
| chip->playback_substream = substream; |
| chip->p_periods_sent = 0; |
| snd_pcm_set_sync(substream); |
| @@ -1167,10 +1165,8 @@ static int snd_cs4231_capture_open(struc |
| runtime->hw = snd_cs4231_capture; |
| |
| err = snd_cs4231_open(chip, CS4231_MODE_RECORD); |
| - if (err < 0) { |
| - snd_free_pages(runtime->dma_area, runtime->dma_bytes); |
| + if (err < 0) |
| return err; |
| - } |
| chip->capture_substream = substream; |
| chip->c_periods_sent = 0; |
| snd_pcm_set_sync(substream); |