Skip to content

Commit

Permalink
ALSA: snd-usb: mixer: propagate errors up the call chain
Browse files Browse the repository at this point in the history
In check_input_term() and parse_audio_feature_unit(), propagate the
error value that has been returned by a failing function instead of
-EINVAL. That helps cleaning up the error pathes in the mixer.

Signed-off-by: Daniel Mack <[email protected]>
Cc: <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
  • Loading branch information
zonque authored and tiwai committed Mar 20, 2013
1 parent 61ac513 commit 4d7b86c
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions sound/usb/mixer.c
Original file line number Diff line number Diff line change
Expand Up @@ -715,8 +715,9 @@ static int check_input_term(struct mixer_build *state, int id, struct usb_audio_
case UAC2_CLOCK_SELECTOR: {
struct uac_selector_unit_descriptor *d = p1;
/* call recursively to retrieve the channel info */
if (check_input_term(state, d->baSourceID[0], term) < 0)
return -ENODEV;
err = check_input_term(state, d->baSourceID[0], term);
if (err < 0)
return err;
term->type = d->bDescriptorSubtype << 16; /* virtual type */
term->id = id;
term->name = uac_selector_unit_iSelector(d);
Expand Down Expand Up @@ -1357,8 +1358,9 @@ static int parse_audio_feature_unit(struct mixer_build *state, int unitid, void
return err;

/* determine the input source type and name */
if (check_input_term(state, hdr->bSourceID, &iterm) < 0)
return -EINVAL;
err = check_input_term(state, hdr->bSourceID, &iterm);
if (err < 0)
return err;

master_bits = snd_usb_combine_bytes(bmaControls, csize);
/* master configuration quirks */
Expand Down

0 comments on commit 4d7b86c

Please sign in to comment.