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: Aditya Pakki <pakki001@umn.edu> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
02cc53e223
commit
beae77170c
|
@ -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_CAPTURE, &snd_sb16_capture_ops);
|
||||
|
||||
if (chip->dma16 >= 0 && chip->dma8 != chip->dma16)
|
||||
snd_ctl_add(card, snd_ctl_new1(&snd_sb16_dma_control, chip));
|
||||
else
|
||||
if (chip->dma16 >= 0 && chip->dma8 != chip->dma16) {
|
||||
err = snd_ctl_add(card, snd_ctl_new1(
|
||||
&snd_sb16_dma_control, chip));
|
||||
if (err)
|
||||
return err;
|
||||
} else {
|
||||
pcm->info_flags = SNDRV_PCM_INFO_HALF_DUPLEX;
|
||||
}
|
||||
|
||||
snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,
|
||||
snd_dma_isa_data(),
|
||||
|
|
Loading…
Reference in New Issue