<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/sound/usb/stream.c, branch linux-3.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-10-30T10:06:54Z</updated>
<entry>
<title>ALSA: usb-audio: Fix races at disconnection</title>
<updated>2012-10-30T10:06:54Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2012-10-12T13:12:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=978520b75f0a1ce82b17e1e8186417250de6d545'/>
<id>urn:sha1:978520b75f0a1ce82b17e1e8186417250de6d545</id>
<content type='text'>
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;
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 substream assignments</title>
<updated>2012-06-08T07:01:37Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2012-06-08T07:01:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8260ef075bd9848ce6a8004ec73b7454d410cc15'/>
<id>urn:sha1:8260ef075bd9848ce6a8004ec73b7454d410cc15</id>
<content type='text'>
In 3.5 kernel, the endpoint is assigned dynamically for the
substreams, but the PCM assignment still checks the presence of the
endpoint pointer.  This ended up in duplicated PCM substream creations
at probing time, resulting in kernel warnings like:

WARNING: at fs/proc/generic.c:586 proc_register+0x169/0x1a6()
Pid: 1152, comm: modprobe Not tainted 3.5.0-rc1-00110-g71fae7e #2
Call Trace:
 [&lt;ffffffff8102a400&gt;] warn_slowpath_common+0x83/0x9c
 [&lt;ffffffff8102a4bc&gt;] warn_slowpath_fmt+0x46/0x48
 [&lt;ffffffff813829ad&gt;] ? add_preempt_count+0x39/0x3b
 [&lt;ffffffff811292f0&gt;] proc_register+0x169/0x1a6
 [&lt;ffffffff8112962e&gt;] create_proc_entry+0x74/0x8c
 [&lt;ffffffffa018eb63&gt;] snd_info_register+0x3e/0xc3 [snd]
 [&lt;ffffffffa01fde2e&gt;] snd_pcm_new_stream+0xb1/0x404 [snd_pcm]
 [&lt;ffffffffa024861f&gt;] snd_usb_add_audio_stream+0xd2/0x230 [snd_usb_audio]
 [&lt;ffffffffa0241d33&gt;] ? snd_usb_parse_audio_format+0x252/0x34f [snd_usb_audio]
 [&lt;ffffffff810d6b17&gt;] ? kmem_cache_alloc_trace+0xab/0xbb
 [&lt;ffffffffa0248c29&gt;] snd_usb_parse_audio_interface+0x4ac/0x567 [snd_usb_audio]
 [&lt;ffffffffa023f0ff&gt;] snd_usb_create_stream+0xe9/0x125 [snd_usb_audio]
 [&lt;ffffffffa023f9b1&gt;] usb_audio_probe+0x62a/0x72c [snd_usb_audio]
 .....

This patch fixes the regression by checking the fixed endpoint number
for each substream instead of the endpoint pointer.

Reported-and-tested-by: Jamie Heilman &lt;jamie@audible.transient.net&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: snd-usb: switch over to new endpoint streaming logic</title>
<updated>2012-04-13T08:24:08Z</updated>
<author>
<name>Daniel Mack</name>
</author>
<published>2012-04-12T11:51:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=edcd3633e72a1590c4cf46befe5e6cd03b5aec3e'/>
<id>urn:sha1:edcd3633e72a1590c4cf46befe5e6cd03b5aec3e</id>
<content type='text'>
With the previous commit that added the new streaming model, all
endpoint and streaming related code is now in endpoint.c, and pcm.c
only acts as a wrapper for handling the packet's payload.

Signed-off-by: Daniel Mack &lt;zonque@gmail.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: snd-usb: move code from urb.c to endpoint.c</title>
<updated>2011-09-14T15:07:03Z</updated>
<author>
<name>Daniel Mack</name>
</author>
<published>2011-09-14T10:46:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c731bc96ad641a5fa3d50a87b474652505507282'/>
<id>urn:sha1:c731bc96ad641a5fa3d50a87b474652505507282</id>
<content type='text'>
No code altered at this point, simply preparing for upcoming
refactorizations.

Signed-off-by: Daniel Mack &lt;zonque@gmail.com&gt;
Acked-by: Clemens Ladisch &lt;clemens@ladisch.de&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: snd-usb: re-order code</title>
<updated>2011-09-14T15:07:02Z</updated>
<author>
<name>Daniel Mack</name>
</author>
<published>2011-09-12T16:54:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e8e8babf561c9560f37b9bd80407ebaf90ad2ca4'/>
<id>urn:sha1:e8e8babf561c9560f37b9bd80407ebaf90ad2ca4</id>
<content type='text'>
Move code from endpoint.c into a new file called stream.c and rename
functions so that their names actually reflect what they're doing.

This way, endpoint.c will be available to functions that hold all the
endpoint logic.

Signed-off-by: Daniel Mack &lt;zonque@gmail.com&gt;
Acked-by: Clemens Ladisch &lt;clemens@ladisch.de&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
</feed>
