diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c index f063623f899ee458b53d7b5d03888844606d391b..9627c22fdc3f45534498a7c081b58a4e1dd77e6b 100644 --- a/sound/usb/mixer.c +++ b/sound/usb/mixer.c @@ -1283,8 +1283,10 @@ static void build_feature_ctl(struct mixer_build *state, void *raw_desc, cval->control = control; cval->cmask = ctl_mask; ctl_info = get_feature_control_info(control); - if (!ctl_info) + if (!ctl_info) { + kfree(cval); return; + } cval->val_type = ctl_info->type; if (ctl_mask == 0) { cval->channels = 1; /* master channel */