lkml.org 
[lkml]   [2007]   [Feb]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 15/21] usbaudio - Fix Oops with broken usb descriptors
    -stable review patch.  If anyone has any objections, please let us know.

    ------------------
    [PATCH] usbaudio - Fix Oops with broken usb descriptors

    This is a patch for ALSA Bug #2724. Some webcams provide bogus
    settings with no valid rates. With this patch those are skipped.

    Signed-off-by: Gregor Jasny <gjasny@web.de>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Jaroslav Kysela <perex@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    sound/usb/usbaudio.c | 6 ++++++
    1 file changed, 6 insertions(+)

    --- linux-2.6.19.4.orig/sound/usb/usbaudio.c
    +++ linux-2.6.19.4/sound/usb/usbaudio.c
    @@ -2456,6 +2456,7 @@ static int parse_audio_format_rates(stru
    * build the rate table and bitmap flags
    */
    int r, idx, c;
    + unsigned int nonzero_rates = 0;
    /* this table corresponds to the SNDRV_PCM_RATE_XXX bit */
    static unsigned int conv_rates[] = {
    5512, 8000, 11025, 16000, 22050, 32000, 44100, 48000,
    @@ -2478,6 +2479,7 @@ static int parse_audio_format_rates(stru
    fp->altsetting == 5 && fp->maxpacksize == 392)
    rate = 96000;
    fp->rate_table[r] = rate;
    + nonzero_rates |= rate;
    if (rate < fp->rate_min)
    fp->rate_min = rate;
    else if (rate > fp->rate_max)
    @@ -2493,6 +2495,10 @@ static int parse_audio_format_rates(stru
    if (!found)
    fp->needs_knot = 1;
    }
    + if (!nonzero_rates) {
    + hwc_debug("All rates were zero. Skipping format!\n");
    + return -1;
    + }
    if (fp->needs_knot)
    fp->rates |= SNDRV_PCM_RATE_KNOT;
    } else {
    --
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-02-21 02:45    [W:4.566 / U:0.108 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site