Commit beae7717 authored by Aditya Pakki's avatar Aditya Pakki Committed by Takashi Iwai

ALSA: sb: fix a missing check of snd_ctl_add

snd_ctl_add() could fail, so let's check its return value and return its
error code upstream upon failure.
Signed-off-by: default avatarAditya Pakki <pakki001@umn.edu>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 02cc53e2
...@@ -879,10 +879,14 @@ int snd_sb16dsp_pcm(struct snd_sb *chip, int device) ...@@ -879,10 +879,14 @@ int snd_sb16dsp_pcm(struct snd_sb *chip, int device)
snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_sb16_playback_ops); snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_sb16_playback_ops);
snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_sb16_capture_ops); snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_sb16_capture_ops);
if (chip->dma16 >= 0 && chip->dma8 != chip->dma16) if (chip->dma16 >= 0 && chip->dma8 != chip->dma16) {
snd_ctl_add(card, snd_ctl_new1(&snd_sb16_dma_control, chip)); err = snd_ctl_add(card, snd_ctl_new1(
else &snd_sb16_dma_control, chip));
if (err)
return err;
} else {
pcm->info_flags = SNDRV_PCM_INFO_HALF_DUPLEX; pcm->info_flags = SNDRV_PCM_INFO_HALF_DUPLEX;
}
snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV, snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,
snd_dma_isa_data(), snd_dma_isa_data(),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment