<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/sound, branch v3.10.63</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v3.10.63</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v3.10.63'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2014-12-16T17:09:43+00:00</updated>
<entry>
<title>ALSA: usb-audio: Don't resubmit pending URBs at MIDI error recovery</title>
<updated>2014-12-16T17:09:43+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2014-12-06T17:02:55+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=4b36a914ae129171631ade18ff3e6c417e21a84c'/>
<id>urn:sha1:4b36a914ae129171631ade18ff3e6c417e21a84c</id>
<content type='text'>
commit 66139a48cee1530c91f37c145384b4ee7043f0b7 upstream.

In snd_usbmidi_error_timer(), the driver tries to resubmit MIDI input
URBs to reactivate the MIDI stream, but this causes the error when
some of URBs are still pending like:

 WARNING: CPU: 0 PID: 0 at ../drivers/usb/core/urb.c:339 usb_submit_urb+0x5f/0x70()
 URB ef705c40 submitted while active
 CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.16.6-2-desktop #1
 Hardware name: FOXCONN TPS01/TPS01, BIOS 080015  03/23/2010
  c0984bfa f4009ed4 c078deaf f4009ee4 c024c884 c09a135c f4009f00 00000000
  c0984bfa 00000153 c061ac4f c061ac4f 00000009 00000001 ef705c40 e854d1c0
  f4009eec c024c8d3 00000009 f4009ee4 c09a135c f4009f00 f4009f04 c061ac4f
 Call Trace:
  [&lt;c0205df6&gt;] try_stack_unwind+0x156/0x170
  [&lt;c020482a&gt;] dump_trace+0x5a/0x1b0
  [&lt;c0205e56&gt;] show_trace_log_lvl+0x46/0x50
  [&lt;c02049d1&gt;] show_stack_log_lvl+0x51/0xe0
  [&lt;c0205eb7&gt;] show_stack+0x27/0x50
  [&lt;c078deaf&gt;] dump_stack+0x45/0x65
  [&lt;c024c884&gt;] warn_slowpath_common+0x84/0xa0
  [&lt;c024c8d3&gt;] warn_slowpath_fmt+0x33/0x40
  [&lt;c061ac4f&gt;] usb_submit_urb+0x5f/0x70
  [&lt;f7974104&gt;] snd_usbmidi_submit_urb+0x14/0x60 [snd_usbmidi_lib]
  [&lt;f797483a&gt;] snd_usbmidi_error_timer+0x6a/0xa0 [snd_usbmidi_lib]
  [&lt;c02570c0&gt;] call_timer_fn+0x30/0x130
  [&lt;c0257442&gt;] run_timer_softirq+0x1c2/0x260
  [&lt;c0251493&gt;] __do_softirq+0xc3/0x270
  [&lt;c0204732&gt;] do_softirq_own_stack+0x22/0x30
  [&lt;c025186d&gt;] irq_exit+0x8d/0xa0
  [&lt;c0795228&gt;] smp_apic_timer_interrupt+0x38/0x50
  [&lt;c0794a3c&gt;] apic_timer_interrupt+0x34/0x3c
  [&lt;c0673d9e&gt;] cpuidle_enter_state+0x3e/0xd0
  [&lt;c028bb8d&gt;] cpu_idle_loop+0x29d/0x3e0
  [&lt;c028bd23&gt;] cpu_startup_entry+0x53/0x60
  [&lt;c0bfac1e&gt;] start_kernel+0x415/0x41a

For avoiding these errors, check the pending URBs and skip
resubmitting such ones.

Reported-and-tested-by: Stefan Seyfried &lt;stefan.seyfried@googlemail.com&gt;
Acked-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 ctrl message delay quirk for Marantz/Denon devices</title>
<updated>2014-12-06T23:05:48+00:00</updated>
<author>
<name>Jurgen Kramer</name>
<email>gtmkramer@xs4all.nl</email>
</author>
<published>2014-11-15T13:01:21+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=f6fb28961fd55796a9258b8c2fd424d00429193c'/>
<id>urn:sha1:f6fb28961fd55796a9258b8c2fd424d00429193c</id>
<content type='text'>
commit 6e84a8d7ac3ba246ef44e313e92bc16a1da1b04a upstream.

This patch adds a USB control message delay quirk for a few specific Marantz/Denon
devices. Without the delay the DACs will not work properly and produces the
following type of messages:

Nov 15 10:09:21 orwell kernel: [   91.342880] usb 3-13: clock source 41 is not valid, cannot use
Nov 15 10:09:21 orwell kernel: [   91.343775] usb 3-13: clock source 41 is not valid, cannot use

There are likely other Marantz/Denon devices using the same USB module which exhibit the
same problems. But as this cannot be verified I limited the patch to the devices
I could test.

The following two devices are covered by this path:
- Marantz SA-14S1
- Marantz HD-DAC1

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>ASoC: wm_adsp: Avoid attempt to free buffers that might still be in use</title>
<updated>2014-12-06T23:05:47+00:00</updated>
<author>
<name>Charles Keepax</name>
<email>ckeepax@opensource.wolfsonmicro.com</email>
</author>
<published>2014-11-17T10:48:21+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=6633e461b5f4fec7d116f94c74076890428ab23a'/>
<id>urn:sha1:6633e461b5f4fec7d116f94c74076890428ab23a</id>
<content type='text'>
commit 9da7a5a9fdeeb76b2243f6b473363a7e6147ab6f upstream.

We should not free any buffers associated with writing out coefficients
to the DSP until all the async writes have completed. This patch updates
the out of memory path when allocating a new buffer to include a call to
regmap_async_complete.

Reported-by: JS Park &lt;aitdark.park@samsung.com&gt;
Signed-off-by: Charles Keepax &lt;ckeepax@opensource.wolfsonmicro.com&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ASoC: sgtl5000: Fix SMALL_POP bit definition</title>
<updated>2014-12-06T23:05:47+00:00</updated>
<author>
<name>Fabio Estevam</name>
<email>fabio.estevam@freescale.com</email>
</author>
<published>2014-11-14T04:14:47+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=2fe35401e2f611964eff6f1fb0b7b689cb30f04b'/>
<id>urn:sha1:2fe35401e2f611964eff6f1fb0b7b689cb30f04b</id>
<content type='text'>
commit c251ea7bd7a04f1f2575467e0de76e803cf59149 upstream.

On a mx28evk with a sgtl5000 codec we notice a loud 'click' sound  to happen
5 seconds after the end of a playback.

The SMALL_POP bit should fix this, but its definition is incorrect:
according to the sgtl5000 manual it is bit 0 of CHIP_REF_CTRL register, not
bit 1.

Fix the definition accordingly and enable the bit as intended per the code
comment.

After applying this change, no loud 'click' sound is heard after playback

Signed-off-by: Fabio Estevam &lt;fabio.estevam@freescale.com&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ALSA: usb-audio: Fix memory leak in FTU quirk</title>
<updated>2014-11-21T17:22:52+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2014-11-11T14:45:57+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=9a262b4b21aaebe6323b2b8362465ca796f12768'/>
<id>urn:sha1:9a262b4b21aaebe6323b2b8362465ca796f12768</id>
<content type='text'>
commit 1a290581ded60e87276741f8ca97b161d2b226fc upstream.

M-audio FastTrack Ultra quirk doesn't release the kzalloc'ed memory.
This patch adds the private_free callback to release it properly.

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: pcm: Zero-clear reserved fields of PCM status ioctl in compat mode</title>
<updated>2014-11-14T16:47:54+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2014-10-28T11:42:19+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=a58d9ee3e1b064e8b449177dedab4d2da162fdd0'/>
<id>urn:sha1:a58d9ee3e1b064e8b449177dedab4d2da162fdd0</id>
<content type='text'>
commit 317168d0c766defd14b3d0e9c2c4a9a258b803ee upstream.

In compat mode, we copy each field of snd_pcm_status struct but don't
touch the reserved fields, and this leaves uninitialized values
there.  Meanwhile the native ioctl does zero-clear the whole
structure, so we should follow the same rule in compat mode, too.

Reported-by: Pierre-Louis Bossart &lt;pierre-louis.bossart@linux.intel.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: Add support for Steinberg UR22 USB interface</title>
<updated>2014-10-30T16:35:13+00:00</updated>
<author>
<name>Vlad Catoi</name>
<email>vladcatoi@gmail.com</email>
</author>
<published>2014-10-18T22:45:41+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=4148f813c2ef303eb500a6b9a360783c3217e810'/>
<id>urn:sha1:4148f813c2ef303eb500a6b9a360783c3217e810</id>
<content type='text'>
commit f0b127fbfdc8756eba7437ab668f3169280bd358 upstream.

Adding support for Steinberg UR22 USB interface via quirks table patch

See Ubuntu bug report:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1317244
Also see threads:
http://linux-audio.4202.n7.nabble.com/Support-for-Steinberg-UR22-Yamaha-USB-chipset-0499-1509-tc82888.html#a82917
http://www.steinberg.net/forums/viewtopic.php?t=62290

Tested by at least 4 people judging by the threads.
Did not test MIDI interface, but audio output and capture both are
functional. Built 3.17 kernel with this driver on Ubuntu 14.04 &amp; tested with mpg123
Patch applied to 3.13 Ubuntu kernel works well enough for daily use.

Signed-off-by: Vlad Catoi &lt;vladcatoi@gmail.com&gt;
Acked-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: emu10k1: Fix deadlock in synth voice lookup</title>
<updated>2014-10-30T16:35:13+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2014-10-13T21:18:02+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=8205fae0f07db86ca05108a478d5f8b7e5fe2737'/>
<id>urn:sha1:8205fae0f07db86ca05108a478d5f8b7e5fe2737</id>
<content type='text'>
commit 95926035b187cc9fee6fb61385b7da9c28123f74 upstream.

The emu10k1 voice allocator takes voice_lock spinlock.  When there is
no empty stream available, it tries to release a voice used by synth,
and calls get_synth_voice.  The callback function,
snd_emu10k1_synth_get_voice(), however, also takes the voice_lock,
thus it deadlocks.

The fix is simply removing the voice_lock holds in
snd_emu10k1_synth_get_voice(), as this is always called in the
spinlock context.

Reported-and-tested-by: Arthur Marsh &lt;arthur.marsh@internode.on.net&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: pcm: use the same dma mmap codepath both for arm and arm64</title>
<updated>2014-10-30T16:35:13+00:00</updated>
<author>
<name>Anatol Pomozov</name>
<email>anatol.pomozov@gmail.com</email>
</author>
<published>2014-10-17T19:43:34+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=aff3c48530a9bd58edf42d94684234244c957a6b'/>
<id>urn:sha1:aff3c48530a9bd58edf42d94684234244c957a6b</id>
<content type='text'>
commit a011e213f3700233ed2a676f1ef0a74a052d7162 upstream.

This avoids following kernel crash when try to playback on arm64

[  107.497203] [&lt;ffffffc00046b310&gt;] snd_pcm_mmap_data_fault+0x90/0xd4
[  107.503405] [&lt;ffffffc0001541ac&gt;] __do_fault+0xb0/0x498
[  107.508565] [&lt;ffffffc0001576a0&gt;] handle_mm_fault+0x224/0x7b0
[  107.514246] [&lt;ffffffc000092640&gt;] do_page_fault+0x11c/0x310
[  107.519738] [&lt;ffffffc000081100&gt;] do_mem_abort+0x38/0x98

Tested: backported to 3.14 and tried to playback on arm64 machine

Signed-off-by: Anatol Pomozov &lt;anatol.pomozov@gmail.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>ASoC: davinci-mcasp: Correct rx format unit configuration</title>
<updated>2014-10-05T21:54:11+00:00</updated>
<author>
<name>Peter Ujfalusi</name>
<email>peter.ujfalusi@ti.com</email>
</author>
<published>2014-09-04T07:52:53+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=8e485734eb4e96853cd14e4d30ea40605b0e8e83'/>
<id>urn:sha1:8e485734eb4e96853cd14e4d30ea40605b0e8e83</id>
<content type='text'>
commit fe0a29e163a5d045c73faab682a8dac71c2f8012 upstream.

In case of capture we should not use rotation. The reverse and mask is
enough to get the data align correctly from the bus to MCU:
Format	  data from bus    after reverse (XRBUF)
S16_LE:  |LSB|MSB|xxx|xxx|  |xxx|xxx|MSB|LSB|
S24_3LE: |LSB|DAT|MSB|xxx|  |xxx|MSB|DAT|LSB|
S24_LE:  |LSB|DAT|MSB|xxx|  |xxx|MSB|DAT|LSB|
S32_LE:  |LSB|DAT|DAT|MSB|  |MSB|DAT|DAT|LSB|

With this patch all supported formats will work for playback and capture.

Reported-by: Jyri Sarha &lt;jsarha@ti.com&gt; (broken S24_3LE capture)
Signed-off-by: Peter Ujfalusi &lt;peter.ujfalusi@ti.com&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
</feed>
