<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/sound/usb, branch linux-4.2.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-4.2.y</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-4.2.y'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2015-12-09T19:31:25+00:00</updated>
<entry>
<title>ALSA: usb-audio: work around CH345 input SysEx corruption</title>
<updated>2015-12-09T19:31:25+00:00</updated>
<author>
<name>Clemens Ladisch</name>
<email>clemens@ladisch.de</email>
</author>
<published>2015-11-15T21:39:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=40603ac05434633e26fc698fa69993e4a26e1a73'/>
<id>urn:sha1:40603ac05434633e26fc698fa69993e4a26e1a73</id>
<content type='text'>
commit a91e627e3f0ed820b11d86cdc04df38f65f33a70 upstream.

One of the many faults of the QinHeng CH345 USB MIDI interface chip is
that it does not handle received SysEx messages correctly -- every second
event packet has a wrong code index number, which is the one from the last
seen message, instead of 4.  For example, the two messages "FE F0 01 02 03
04 05 06 07 08 09 0A 0B 0C 0D 0E F7" result in the following event
packets:

correct:       CH345:
0F FE 00 00    0F FE 00 00
04 F0 01 02    04 F0 01 02
04 03 04 05    0F 03 04 05
04 06 07 08    04 06 07 08
04 09 0A 0B    0F 09 0A 0B
04 0C 0D 0E    04 0C 0D 0E
05 F7 00 00    05 F7 00 00

A class-compliant driver must interpret an event packet with CIN 15 as
having a single data byte, so the other two bytes would be ignored.  The
message received by the host would then be missing two bytes out of six;
in this example, "F0 01 02 03 06 07 08 09 0C 0D 0E F7".

These corrupted SysEx event packages contain only data bytes, while the
CH345 uses event packets with a correct CIN value only for messages with
a status byte, so it is possible to distinguish between these two cases by
checking for the presence of this status byte.

(Other bugs in the CH345's input handling, such as the corruption resulting
from running status, cannot be worked around.)

Signed-off-by: Clemens Ladisch &lt;clemens@ladisch.de&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ALSA: usb-audio: prevent CH345 multiport output SysEx corruption</title>
<updated>2015-12-09T19:31:25+00:00</updated>
<author>
<name>Clemens Ladisch</name>
<email>clemens@ladisch.de</email>
</author>
<published>2015-11-15T21:38:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=1b25851cf1b6111c35221f00c9e96021bb2c5c77'/>
<id>urn:sha1:1b25851cf1b6111c35221f00c9e96021bb2c5c77</id>
<content type='text'>
commit 1ca8b201309d842642f221db7f02f71c0af5be2d upstream.

The CH345 USB MIDI chip has two output ports.  However, they are
multiplexed through one pin, and the number of ports cannot be reduced
even for hardware that implements only one connector, so for those
devices, data sent to either port ends up on the same hardware output.
This becomes a problem when both ports are used at the same time, as
longer MIDI commands (such as SysEx messages) are likely to be
interrupted by messages from the other port, and thus to get lost.

It would not be possible for the driver to detect how many ports the
device actually has, except that in practice, _all_ devices built with
the CH345 have only one port.  So we can just ignore the device's
descriptors, and hardcode one output port.

Signed-off-by: Clemens Ladisch &lt;clemens@ladisch.de&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ALSA: usb-audio: add packet size quirk for the Medeli DD305</title>
<updated>2015-12-09T19:31:24+00:00</updated>
<author>
<name>Clemens Ladisch</name>
<email>clemens@ladisch.de</email>
</author>
<published>2015-11-15T21:37:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=d80f8d13f0e961bfa9b3346c1ebe6662f64bd234'/>
<id>urn:sha1:d80f8d13f0e961bfa9b3346c1ebe6662f64bd234</id>
<content type='text'>
commit 98d362becb6621bebdda7ed0eac7ad7ec6c37898 upstream.

Signed-off-by: Clemens Ladisch &lt;clemens@ladisch.de&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ALSA: usb: Add native DSD support for Aune X1S</title>
<updated>2015-12-09T19:31:23+00:00</updated>
<author>
<name>Jurgen Kramer</name>
<email>gtmkramer@xs4all.nl</email>
</author>
<published>2015-11-09T11:13:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=df493fe1a1d1e3ab2c3248a7fc346e2f9749233e'/>
<id>urn:sha1:df493fe1a1d1e3ab2c3248a7fc346e2f9749233e</id>
<content type='text'>
commit 16771c7c704769c5f3d70c024630b6e5b3eafa67 upstream.

This patch adds native DSD support for the Aune X1S 32BIT/384 DSD DAC

Signed-off-by: Jurgen Kramer &lt;gtmkramer@xs4all.nl&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ALSA: usb-audio: correct the value cache check.</title>
<updated>2015-09-29T17:33:21+00:00</updated>
<author>
<name>Yao-Wen Mao</name>
<email>yaowen@google.com</email>
</author>
<published>2015-08-28T08:33:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=ca60b2e7e710abd7eac45b868f2563531e6b17f0'/>
<id>urn:sha1:ca60b2e7e710abd7eac45b868f2563531e6b17f0</id>
<content type='text'>
commit 6aa6925cad06159dc6e25857991bbc4960821242 upstream.

The check of cval-&gt;cached should be zero-based (including master channel).

Signed-off-by: Yao-Wen Mao &lt;yaowen@google.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ALSA: usb: Add native DSD support for Gustard DAC-X20U</title>
<updated>2015-08-21T08:27:35+00:00</updated>
<author>
<name>Jurgen Kramer</name>
<email>gtmkramer@xs4all.nl</email>
</author>
<published>2015-08-21T07:48:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9544f8b6e2ee9ed02d2322ff018837b185f51d45'/>
<id>urn:sha1:9544f8b6e2ee9ed02d2322ff018837b185f51d45</id>
<content type='text'>
This patch adds native DSD support for the Gustard DAC-X20U.

Signed-off-by: Jurgen Kramer &lt;gtmkramer@xs4all.nl&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: usb-audio: Fix runtime PM unbalance</title>
<updated>2015-08-19T12:57:51+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2015-08-19T05:20:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9003ebb13f61e8c78a641e0dda7775183ada0625'/>
<id>urn:sha1:9003ebb13f61e8c78a641e0dda7775183ada0625</id>
<content type='text'>
The fix for deadlock in PM in commit [1ee23fe07ee8: ALSA: usb-audio:
Fix deadlocks at resuming] introduced a new check of in_pm flag.
However, the brainless patch author evaluated it in a wrong way
(logical AND instead of logical OR), thus usb_autopm_get_interface()
is wrongly called at probing, leading to unbalance of runtime PM
refcount.

This patch fixes it by correcting the logic.

Reported-by: Hans Yang &lt;hansy@nvidia.com&gt;
Fixes: 1ee23fe07ee8 ('ALSA: usb-audio: Fix deadlocks at resuming')
Cc: &lt;stable@vger.kernel.org&gt; [v3.15+]
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: usb-audio: add dB range mapping for some devices</title>
<updated>2015-07-29T07:28:02+00:00</updated>
<author>
<name>Yao-Wen Mao</name>
<email>yaowen@google.com</email>
</author>
<published>2015-07-29T07:13:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=2d1cb7f658fb9c3ba8f9dab8aca297d4dfdec835'/>
<id>urn:sha1:2d1cb7f658fb9c3ba8f9dab8aca297d4dfdec835</id>
<content type='text'>
Add the correct dB ranges of Bose Companion 5 and Drangonfly DAC 1.2.

Signed-off-by: Yao-Wen Mao &lt;yaowen@google.com&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: line6: Fix -EBUSY error during active monitoring</title>
<updated>2015-07-14T13:19:37+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2015-07-14T13:19:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4d0e677523a999e1dec28e55cc314c47ba09ca12'/>
<id>urn:sha1:4d0e677523a999e1dec28e55cc314c47ba09ca12</id>
<content type='text'>
When a monitor stream is active, the next PCM stream access results in
EBUSY error because of the check in line6_stream_start().  Fix this by
just skipping the submission of pending URBs when the stream is
already running instead.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=101431
Cc: &lt;stable@vger.kernel.org&gt; # v4.0+
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: usb-audio: Add MIDI support for Steinberg MI2/MI4</title>
<updated>2015-07-01T15:29:40+00:00</updated>
<author>
<name>Dominic Sacré</name>
<email>dominic.sacre@gmx.de</email>
</author>
<published>2015-06-30T15:41:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=0689a86ae814f39af94a9736a0a5426dd82eb107'/>
<id>urn:sha1:0689a86ae814f39af94a9736a0a5426dd82eb107</id>
<content type='text'>
The Steinberg MI2 and MI4 interfaces are compatible with the USB class
audio spec, but the MIDI part of the devices is reported as a vendor
specific interface.

This patch adds entries to quirks-table.h to recognize the MIDI
endpoints. Audio functionality was already working and is unaffected by
this change.

Signed-off-by: Dominic Sacré &lt;dominic.sacre@gmx.de&gt;
Signed-off-by: Albert Huitsing &lt;albert@huitsing.nl&gt;
Acked-by: Clemens Ladisch &lt;clemens@ladisch.de&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
</feed>
