diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c index b3be0d432a75..3d93e33b3485 100644 --- a/sound/usb/mixer.c +++ b/sound/usb/mixer.c @@ -2184,6 +2184,8 @@ static int parse_audio_selector_unit(struct mixer_build *state, int unitid, kctl = snd_ctl_new1(&mixer_selectunit_ctl, cval); if (! kctl) { usb_audio_err(state->chip, "cannot malloc kcontrol\n"); + for (i = 0; i < desc->bNrInPins; i++) + kfree(namelist[i]); kfree(namelist); kfree(cval); return -ENOMEM;