mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 13:55:32 +00:00
ALSA: allocation may fail in snd_pcm_oss_change_params()
Allocation may fail, show if it did. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> [Additional fix for invalid runtime->oss.prepare flag set by tiwai] Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
f1d269bac2
commit
cbbb05703d
1 changed files with 7 additions and 2 deletions
|
@ -1043,10 +1043,15 @@ static int snd_pcm_oss_change_params(struct snd_pcm_substream *substream)
|
|||
runtime->oss.channels = params_channels(params);
|
||||
runtime->oss.rate = params_rate(params);
|
||||
|
||||
runtime->oss.params = 0;
|
||||
runtime->oss.prepare = 1;
|
||||
vfree(runtime->oss.buffer);
|
||||
runtime->oss.buffer = vmalloc(runtime->oss.period_bytes);
|
||||
if (!runtime->oss.buffer) {
|
||||
err = -ENOMEM;
|
||||
goto failure;
|
||||
}
|
||||
|
||||
runtime->oss.params = 0;
|
||||
runtime->oss.prepare = 1;
|
||||
runtime->oss.buffer_used = 0;
|
||||
if (runtime->dma_area)
|
||||
snd_pcm_format_set_silence(runtime->format, runtime->dma_area, bytes_to_samples(runtime, runtime->dma_bytes));
|
||||
|
|
Loading…
Reference in a new issue