<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/sound/usb, branch v3.0.67</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/sound/usb?h=v3.0.67</id>
<link rel='self' href='https://git.amat.us/linux/atom/sound/usb?h=v3.0.67'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-02-28T14:32:25Z</updated>
<entry>
<title>ALSA: usb-audio: fix Roland A-PRO support</title>
<updated>2013-02-28T14:32:25Z</updated>
<author>
<name>Clemens Ladisch</name>
<email>clemens@ladisch.de</email>
</author>
<published>2013-01-31T20:14:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8eab86c3483569160b2aef56cf9db6ce1274b4f6'/>
<id>urn:sha1:8eab86c3483569160b2aef56cf9db6ce1274b4f6</id>
<content type='text'>
commit 7da58046482fceb17c4a0d4afefd9507ec56de7f upstream.

The quirk for the Roland/Cakewalk A-PRO keyboards accidentally used the
wrong interface number, which prevented the driver from attaching to the
device.

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

</content>
</entry>
<entry>
<title>ALSA: usb-audio: fix invalid length check for RME and other UAC 2 devices</title>
<updated>2013-02-04T00:21:37Z</updated>
<author>
<name>Clemens Ladisch</name>
<email>clemens@ladisch.de</email>
</author>
<published>2012-11-29T16:04:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a043100f2831bc56a1df2e536ed3079977677348'/>
<id>urn:sha1:a043100f2831bc56a1df2e536ed3079977677348</id>
<content type='text'>
commit d56268fb108c7c21e19933588ca4d94652585183 upstream.

Commit 23caaf19b11e (ALSA: usb-mixer: Add support for Audio Class v2.0)
forgot to adjust the length check for UAC 2.0 feature unit descriptors.
This would make the code abort on encountering a feature unit without
per-channel controls, and thus prevented the driver to work with any
device having such a unit, such as the RME Babyface or Fireface UCX.

Reported-by: Florian Hanisch &lt;fhanisch@uni-potsdam.de&gt;
Tested-by: Matthew Robbetts &lt;wingfeathera@gmail.com&gt;
Tested-by: Michael Beer &lt;beerml@sigma6audio.de&gt;
Cc: Daniel Mack &lt;daniel@caiaq.de&gt;
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: Fix missing autopm for MIDI input</title>
<updated>2013-01-11T17:03:37Z</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2012-12-03T10:30:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6ab1dea0945d7179637bbec02e7e8894a59f8ba6'/>
<id>urn:sha1:6ab1dea0945d7179637bbec02e7e8894a59f8ba6</id>
<content type='text'>
commit f5f165418cabf2218eb466c0e94693b8b1aee88b upstream.

The commit [88a8516a: ALSA: usbaudio: implement USB autosuspend] added
the support of autopm for USB MIDI output, but it didn't take the MIDI
input into account.

This patch adds the following for fixing the autopm:
- Manage the URB start at the first MIDI input stream open, instead of
  the time of instance creation
- Move autopm code to the common substream_open()
- Make snd_usbmidi_input_start/_stop() more robust and add the running
  state check

Reviewd-by: Clemens Ladisch &lt;clemens@ladisch.de&gt;
Tested-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: Avoid autopm calls after disconnection</title>
<updated>2013-01-11T17:03:36Z</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2012-12-03T10:12:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5a6400c991f269eaab5a175d8b7c656155a74129'/>
<id>urn:sha1:5a6400c991f269eaab5a175d8b7c656155a74129</id>
<content type='text'>
commit 59866da9e4ae54819e3c4e0a8f426bdb0c2ef993 upstream.

Add a similar protection against the disconnection race and the
invalid use of usb instance after disconnection, as well as we've done
for the USB audio PCM.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=51201

Reviewd-by: Clemens Ladisch &lt;clemens@ladisch.de&gt;
Tested-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: ua101, usx2y: fix broken MIDI output</title>
<updated>2012-12-03T20:59:13Z</updated>
<author>
<name>Clemens Ladisch</name>
<email>clemens@ladisch.de</email>
</author>
<published>2012-10-31T15:35:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=08dc993050ecc2e664462ee61cc4dc3719aaa9c0'/>
<id>urn:sha1:08dc993050ecc2e664462ee61cc4dc3719aaa9c0</id>
<content type='text'>
commit e99ddfde6ae0dd2662bb40435696002b590e4057 upstream.

Commit 88a8516a2128 (ALSA: usbaudio: implement USB autosuspend) added
autosuspend code to all files making up the snd-usb-audio driver.
However, midi.c is part of snd-usb-lib and is also used by other
drivers, not all of which support autosuspend.  Thus, calls to
usb_autopm_get_interface() could fail, and this unexpected error would
result in the MIDI output being completely unusable.

Make it work by ignoring the error that is expected with drivers that do
not support autosuspend.

Reported-by: Colin Fletcher &lt;colin.m.fletcher@googlemail.com&gt;
Reported-by: Devin Venable &lt;venable.devin@gmail.com&gt;
Reported-by: Dr Nick Bailey &lt;nicholas.bailey@glasgow.ac.uk&gt;
Reported-by: Jannis Achstetter &lt;jannis_achstetter@web.de&gt;
Reported-by: Rui Nuno Capela &lt;rncbc@rncbc.org&gt;
Cc: Oliver Neukum &lt;oliver@neukum.org&gt;
Signed-off-by: Clemens Ladisch &lt;clemens@ladisch.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ALSA: usb-audio: Fix mutex deadlock at disconnection</title>
<updated>2012-11-17T21:14:26Z</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2012-11-13T10:22:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=093371484195393366f3407465b6f6c53eefdc57'/>
<id>urn:sha1:093371484195393366f3407465b6f6c53eefdc57</id>
<content type='text'>
commit 10e44239f67d0b6fb74006e61a7e883b8075247a upstream.

The recent change for USB-audio disconnection race fixes introduced a
mutex deadlock again.  There is a circular dependency between
chip-&gt;shutdown_rwsem and pcm-&gt;open_mutex, depicted like below, when a
device is opened during the disconnection operation:

A. snd_usb_audio_disconnect() -&gt;
     card.c::register_mutex -&gt;
       chip-&gt;shutdown_rwsem (write) -&gt;
         snd_card_disconnect() -&gt;
           pcm.c::register_mutex -&gt;
             pcm-&gt;open_mutex

B. snd_pcm_open() -&gt;
     pcm-&gt;open_mutex -&gt;
       snd_usb_pcm_open() -&gt;
         chip-&gt;shutdown_rwsem (read)

Since the chip-&gt;shutdown_rwsem protection in the case A is required
only for turning on the chip-&gt;shutdown flag and it doesn't have to be
taken for the whole operation, we can reduce its window in
snd_usb_audio_disconnect().

Reported-by: Jiri Slaby &lt;jslaby@suse.cz&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: Fix races at disconnection in mixer_quirks.c</title>
<updated>2012-11-17T21:14:22Z</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2012-11-07T11:44:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fb434cc26173c2285d48d640c639493bc6a6c5f5'/>
<id>urn:sha1:fb434cc26173c2285d48d640c639493bc6a6c5f5</id>
<content type='text'>
commit 888ea7d5ac6815ba16b3b3a20f665a92c7af6724 upstream.

Similar like the previous commit, cover with chip-&gt;shutdown_rwsem
and chip-&gt;shutdown checks.

Reported-by: Matthieu CASTET &lt;matthieu.castet@parrot.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-audio: Use rwsem for disconnect protection</title>
<updated>2012-11-17T21:14:22Z</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2012-11-07T11:44:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=14565776bea2c57d2f8d1cd7aeee6a0723ac2a05'/>
<id>urn:sha1:14565776bea2c57d2f8d1cd7aeee6a0723ac2a05</id>
<content type='text'>
commit 34f3c89fda4fba9fe689db22253ca8db2f5e6386 upstream.

Replace mutex with rwsem for codec-&gt;shutdown protection so that
concurrent accesses are allowed.

Also add the protection to snd_usb_autosuspend() and
snd_usb_autoresume(), too.

Reported-by: Matthieu CASTET &lt;matthieu.castet@parrot.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-audio: Fix races at disconnection</title>
<updated>2012-11-17T21:14:22Z</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2012-11-07T11:44:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ea7b69a0b6816926e85cedbe5e1b1b8d3e2e5500'/>
<id>urn:sha1:ea7b69a0b6816926e85cedbe5e1b1b8d3e2e5500</id>
<content type='text'>
commit 978520b75f0a1ce82b17e1e8186417250de6d545 upstream.

Close some races at disconnection of a USB audio device by adding the
chip-&gt;shutdown_mutex and chip-&gt;shutdown check at appropriate places.

The spots to put bandaids are:
- PCM prepare, hw_params and hw_free
- where the usb device is accessed for communication or get speed, in
 mixer.c and others; the device speed is now cached in subs-&gt;speed
 instead of accessing to chip-&gt;dev

The accesses in PCM open and close don't need the mutex protection
because these are already handled in the core PCM disconnection code.

The autosuspend/autoresume codes are still uncovered by this patch
because of possible mutex deadlocks.  They'll be covered by the
upcoming change to rwsem.

Also the mixer codes are untouched, too.  These will be fixed in
another patch, too.

Reported-by: Matthieu CASTET &lt;matthieu.castet@parrot.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: Support for (original) Xbox Communicator</title>
<updated>2012-10-12T20:28:11Z</updated>
<author>
<name>Marko Friedemann</name>
<email>mfr@bmx-chemnitz.de</email>
</author>
<published>2012-09-03T08:12:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=70deff084ca28ae74786764fd8d882947b5a31a4'/>
<id>urn:sha1:70deff084ca28ae74786764fd8d882947b5a31a4</id>
<content type='text'>
commit c05fce586d4da2dfe0309bef3795a8586e967bc3 upstream.

Added support for Xbox Communicator to USB quirks.

Signed-off-by: Marko Friedemann &lt;mfr@bmx-chemnitz.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>
</feed>
