[media] em28xx-audio: Fix error path
De-allocate memory and free sound if an error happens. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
This commit is contained in:
parent
d2849fa59d
commit
439c491c4c
|
@ -692,6 +692,7 @@ static int em28xx_audio_init(struct em28xx *dev)
|
|||
if (intf->num_altsetting <= alt) {
|
||||
em28xx_errdev("alt %d doesn't exist on interface %d\n",
|
||||
dev->audio_ifnum, alt);
|
||||
snd_card_free(card);
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
|
@ -707,6 +708,7 @@ static int em28xx_audio_init(struct em28xx *dev)
|
|||
|
||||
if (!ep) {
|
||||
em28xx_errdev("Couldn't find an audio endpoint");
|
||||
snd_card_free(card);
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
|
@ -759,6 +761,7 @@ static int em28xx_audio_init(struct em28xx *dev)
|
|||
|
||||
err = snd_card_register(card);
|
||||
if (err < 0) {
|
||||
em28xx_audio_free_urb(dev);
|
||||
snd_card_free(card);
|
||||
return err;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue