lkml.org 
[lkml]   [2013]   [Apr]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[ 029/171 ] ALSA: snd-usb: mixer: propagate errors up the call chain
    3.6.11.2 stable review patch.
    If anyone has any objections, please let me know.

    ------------------

    From: Daniel Mack <zonque@gmail.com>

    [ Upstream commit 4d7b86c98e445b075c2c4c3757eb6d3d6efbe72e ]

    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 <zonque@gmail.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    ---
    sound/usb/mixer.c | 10 ++++++----
    1 file changed, 6 insertions(+), 4 deletions(-)

    diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c
    index 298070e..c20a0c5 100644
    --- a/sound/usb/mixer.c
    +++ b/sound/usb/mixer.c
    @@ -711,8 +711,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);
    @@ -1276,8 +1277,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 */
    --
    1.7.10.4



    \
     
     \ /
      Last update: 2013-04-11 23:21    [W:4.424 / U:0.416 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site