ALSA: usb-audio: add check for faulty clock in parse_audio_format_rates_v2()
authorDaniel Mack <daniel@caiaq.de>
Fri, 11 Jun 2010 15:34:19 +0000 (17:34 +0200)
committerTakashi Iwai <tiwai@suse.de>
Fri, 11 Jun 2010 16:05:05 +0000 (18:05 +0200)
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/format.c

index 5367cd1e52d9dac9231077e829ca3e0869175de4..df5b29fed00028b587fbe36b18c13c332c8aff31 100644 (file)
@@ -218,6 +218,12 @@ static int parse_audio_format_rates_v2(struct snd_usb_audio *chip,
        int i, nr_rates, data_size, ret = 0;
        int clock = snd_usb_clock_find_source(chip, chip->ctrl_intf, fp->clock);
 
+       if (clock < 0) {
+               snd_printk(KERN_ERR "%s(): unable to find clock source (clock %d)\n",
+                               __func__, clock);
+               goto err;
+       }
+
        /* get the number of sample rates first by only fetching 2 bytes */
        ret = snd_usb_ctl_msg(dev, usb_rcvctrlpipe(dev, 0), UAC2_CS_RANGE,
                              USB_TYPE_CLASS | USB_RECIP_INTERFACE | USB_DIR_IN,