X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=sound%2Fusb%2Fusbmixer.c;h=8d08b34a1cb569946d20fbaf2bdc2d6dac27afb1;hb=43560116d1f70de274915fdec0745c6e02feef30;hp=678dac2d4dba56b6dee4c8574033590e756f6512;hpb=0a75c23a009ff65f651532cecc16675d05f4de37;p=linux-2.6 diff --git a/sound/usb/usbmixer.c b/sound/usb/usbmixer.c index 678dac2d4d..8d08b34a1c 100644 --- a/sound/usb/usbmixer.c +++ b/sound/usb/usbmixer.c @@ -434,7 +434,6 @@ static int add_control_to_empty(struct mixer_build *state, struct snd_kcontrol * kctl->id.index++; if ((err = snd_ctl_add(state->chip->card, kctl)) < 0) { snd_printd(KERN_ERR "cannot add control (err = %d)\n", err); - snd_ctl_free_one(kctl); return err; } cval->elem_id = &kctl->id; @@ -1469,6 +1468,7 @@ static int parse_audio_selector_unit(struct mixer_build *state, int unitid, unsi kctl = snd_ctl_new1(&mixer_selectunit_ctl, cval); if (! kctl) { snd_printk(KERN_ERR "cannot malloc kcontrol\n"); + kfree(namelist); kfree(cval); return -ENOMEM; }