mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-05 01:54:09 +08:00
[media] em28xx-audio: simplify error handling
Cleanup the error handling code at em28xx-audio init. Reviewed-by: Frank Schäfer <fschaefer.oss@googlemail.com> Tested-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
This commit is contained in:
parent
229295f1d6
commit
0cd03a0cb2
@ -893,10 +893,8 @@ static int em28xx_audio_init(struct em28xx *dev)
|
||||
adev->udev = dev->udev;
|
||||
|
||||
err = snd_pcm_new(card, "Em28xx Audio", 0, 0, 1, &pcm);
|
||||
if (err < 0) {
|
||||
snd_card_free(card);
|
||||
return err;
|
||||
}
|
||||
if (err < 0)
|
||||
goto card_free;
|
||||
|
||||
snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_em28xx_pcm_capture);
|
||||
pcm->info_flags = 0;
|
||||
@ -927,20 +925,23 @@ static int em28xx_audio_init(struct em28xx *dev)
|
||||
}
|
||||
|
||||
err = em28xx_audio_urb_init(dev);
|
||||
if (err) {
|
||||
snd_card_free(card);
|
||||
return -ENODEV;
|
||||
}
|
||||
if (err)
|
||||
goto card_free;
|
||||
|
||||
err = snd_card_register(card);
|
||||
if (err < 0) {
|
||||
em28xx_audio_free_urb(dev);
|
||||
snd_card_free(card);
|
||||
return err;
|
||||
}
|
||||
if (err < 0)
|
||||
goto urb_free;
|
||||
|
||||
em28xx_info("Audio extension successfully initialized\n");
|
||||
return 0;
|
||||
|
||||
urb_free:
|
||||
em28xx_audio_free_urb(dev);
|
||||
|
||||
card_free:
|
||||
snd_card_free(card);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
static int em28xx_audio_fini(struct em28xx *dev)
|
||||
|
Loading…
Reference in New Issue
Block a user