ALSA: usb: Fix support for Denon DA-300USB DAC (ID 154e:1003)
authorFrank C Guenther <bugzilla.frnkcg@spamgourmet.com>
Tue, 17 Feb 2015 21:13:32 +0000 (22:13 +0100)
committerTakashi Iwai <tiwai@suse.de>
Tue, 17 Feb 2015 21:14:18 +0000 (22:14 +0100)
Fix problem where playback of Denon DA-300USB DAC sometimes does not
start and leads to error messages like "clock source 41 is not valid,
cannot use".

Solution: Treat this device the same as other Denon/Marantz devices in
sound/usb/quirks.c.

Tested with both PCM and DSD formats.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=93261
Signed-off-by: Frank C Guenther <bugzilla.frnkcg@spamgourmet.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/quirks.c

index 5c0c053..753a47d 100644 (file)
@@ -1127,6 +1127,7 @@ int snd_usb_select_mode_quirk(struct snd_usb_substream *subs,
        int err;
 
        switch (subs->stream->chip->usb_id) {
+       case USB_ID(0x154e, 0x1003): /* Denon DA-300USB */
        case USB_ID(0x154e, 0x3005): /* Marantz HD-DAC1 */
        case USB_ID(0x154e, 0x3006): /* Marantz SA-14S1 */
 
@@ -1206,6 +1207,7 @@ void snd_usb_ctl_msg_quirk(struct usb_device *dev, unsigned int pipe,
            (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS) {
 
                switch (le16_to_cpu(dev->descriptor.idProduct)) {
+               case 0x1003: /* Denon DA300-USB */
                case 0x3005: /* Marantz HD-DAC1 */
                case 0x3006: /* Marantz SA-14S1 */
                        mdelay(20);
@@ -1267,6 +1269,7 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
 
        /* Denon/Marantz devices with USB DAC functionality */
        switch (chip->usb_id) {
+       case USB_ID(0x154e, 0x1003): /* Denon DA300-USB */
        case USB_ID(0x154e, 0x3005): /* Marantz HD-DAC1 */
        case USB_ID(0x154e, 0x3006): /* Marantz SA-14S1 */
                if (fp->altsetting == 2)