]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - sound/usb/format.c
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / sound / usb / format.c
index 69148212aa70e66f9e1193040bfb41aad5548b6b..5b792d2c8061aa0292595186d8cf60fadf8456dc 100644 (file)
@@ -76,7 +76,10 @@ static u64 parse_audio_format_i_type(struct snd_usb_audio *chip,
                format = 1 << UAC_FORMAT_TYPE_I_PCM;
        }
        if (format & (1 << UAC_FORMAT_TYPE_I_PCM)) {
-               if (sample_width > sample_bytes * 8) {
+               if (chip->usb_id == USB_ID(0x0582, 0x0016) /* Edirol SD-90 */ &&
+                   sample_width == 24 && sample_bytes == 2)
+                       sample_bytes = 3;
+               else if (sample_width > sample_bytes * 8) {
                        snd_printk(KERN_INFO "%d:%u:%d : sample bitwidth %d in over sample bytes %d\n",
                                   chip->dev->devnum, fp->iface, fp->altsetting,
                                   sample_width, sample_bytes);