<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/sound, branch v3.0.75</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/sound?h=v3.0.75</id>
<link rel='self' href='https://git.amat.us/linux/atom/sound?h=v3.0.75'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-04-26T04:23:49Z</updated>
<entry>
<title>vm: convert snd_pcm_lib_mmap_iomem() to vm_iomap_memory() helper</title>
<updated>2013-04-26T04:23:49Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-04-19T17:01:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=69c8dbb74ce747df83ad81ba73db965d7a716726'/>
<id>urn:sha1:69c8dbb74ce747df83ad81ba73db965d7a716726</id>
<content type='text'>
commit 0fe09a45c4848b5b5607b968d959fdc1821c161d upstream.

This is my example conversion of a few existing mmap users.  The pcm
mmap case is one of the more straightforward ones.

Acked-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ASoC: wm8903: Fix the bypass to HP/LINEOUT when no DAC or ADC is running</title>
<updated>2013-04-17T04:02:30Z</updated>
<author>
<name>Alban Bedel</name>
<email>alban.bedel@avionic-design.de</email>
</author>
<published>2013-04-09T15:13:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=da60065417ee775999fd05d2a4ea0c268e4ec30b'/>
<id>urn:sha1:da60065417ee775999fd05d2a4ea0c268e4ec30b</id>
<content type='text'>
commit f1ca493b0b5e8f42d3b2dc8877860db2983f47b6 upstream.

The Charge Pump needs the DSP clock to work properly, without it the
bypass to HP/LINEOUT is not working properly. This requirement is not
mentioned in the datasheet but has been confirmed by Mark Brown from
Wolfson.

Signed-off-by: Alban Bedel &lt;alban.bedel@avionic-design.de&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ALSA: usb-audio: fix endianness bug in snd_nativeinstruments_*</title>
<updated>2013-04-17T04:02:30Z</updated>
<author>
<name>Eldad Zack</name>
<email>eldad@fogrefinery.com</email>
</author>
<published>2013-04-05T18:49:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=09d11b951936e52dc1d1513f67d605830f720928'/>
<id>urn:sha1:09d11b951936e52dc1d1513f67d605830f720928</id>
<content type='text'>
commit 889d66848b12d891248b03abcb2a42047f8e172a upstream.

The usb_control_msg() function expects __u16 types and performs
the endianness conversions by itself.
However, in three places, a conversion is performed before it is
handed over to usb_control_msg(), which leads to a double conversion
(= no conversion):
* snd_usb_nativeinstruments_boot_quirk()
* snd_nativeinstruments_control_get()
* snd_nativeinstruments_control_put()

Caught by sparse:

sound/usb/mixer_quirks.c:512:38: warning: incorrect type in argument 6 (different base types)
sound/usb/mixer_quirks.c:512:38:    expected unsigned short [unsigned] [usertype] index
sound/usb/mixer_quirks.c:512:38:    got restricted __le16 [usertype] &lt;noident&gt;
sound/usb/mixer_quirks.c:543:35: warning: incorrect type in argument 5 (different base types)
sound/usb/mixer_quirks.c:543:35:    expected unsigned short [unsigned] [usertype] value
sound/usb/mixer_quirks.c:543:35:    got restricted __le16 [usertype] &lt;noident&gt;
sound/usb/mixer_quirks.c:543:56: warning: incorrect type in argument 6 (different base types)
sound/usb/mixer_quirks.c:543:56:    expected unsigned short [unsigned] [usertype] index
sound/usb/mixer_quirks.c:543:56:    got restricted __le16 [usertype] &lt;noident&gt;
sound/usb/quirks.c:502:35: warning: incorrect type in argument 5 (different base types)
sound/usb/quirks.c:502:35:    expected unsigned short [unsigned] [usertype] value
sound/usb/quirks.c:502:35:    got restricted __le16 [usertype] &lt;noident&gt;

Signed-off-by: Eldad Zack &lt;eldad@fogrefinery.com&gt;
Acked-by: Daniel Mack &lt;zonque@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>ALSA: hda - fix typo in proc output</title>
<updated>2013-04-12T16:18:08Z</updated>
<author>
<name>David Henningsson</name>
<email>david.henningsson@canonical.com</email>
</author>
<published>2013-04-04T09:47:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ba2ae99cf346c740e64241f77c5d54eca55f0d91'/>
<id>urn:sha1:ba2ae99cf346c740e64241f77c5d54eca55f0d91</id>
<content type='text'>
commit aeb3a97222832e5457c4b72d72235098ce4bfe8d upstream.

Rename "Digitial In" to "Digital In". This function is only used for
proc output, so should not cause any problems to change.

Signed-off-by: David Henningsson &lt;david.henningsson@canonical.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: hda - bug fix on return value when getting HDMI ELD info</title>
<updated>2013-04-12T16:18:08Z</updated>
<author>
<name>Mengdong Lin</name>
<email>mengdong.lin@intel.com</email>
</author>
<published>2013-03-28T09:20:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2e4010695a44d36c2f5cd5bbe0724d32f31c1590'/>
<id>urn:sha1:2e4010695a44d36c2f5cd5bbe0724d32f31c1590</id>
<content type='text'>
commit 2ef5692efad330b67a234e2c49edad38538751e7 upstream.

In function snd_hdmi_get_eld(), the variable 'ret' should be initialized to 0.
Otherwise it will be returned uninitialized as non-zero after ELD info is got
successfully. Thus hdmi_present_sense() will always assume ELD info is invalid
by mistake, and /proc file system cannot show the proper ELD info.

Signed-off-by: Mengdong Lin &lt;mengdong.lin@intel.com&gt;
Acked-by: David Henningsson &lt;david.henningsson@canonical.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: dma-sh7760: Fix compile error</title>
<updated>2013-04-12T16:18:08Z</updated>
<author>
<name>Lars-Peter Clausen</name>
<email>lars@metafoo.de</email>
</author>
<published>2013-03-15T10:26:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4d20371d4ba4674524ad5f017f16ae68d63bf15a'/>
<id>urn:sha1:4d20371d4ba4674524ad5f017f16ae68d63bf15a</id>
<content type='text'>
commit 417a1178f1bf3cdc606376b3ded3a22489fbb3eb upstream.

The dma-sh7760 currently fails with the following compile error:
	sound/soc/sh/dma-sh7760.c:346:2: error: unknown field 'pcm_ops' specified in initializer
	sound/soc/sh/dma-sh7760.c:346:2: warning: initialization from incompatible pointer type
	sound/soc/sh/dma-sh7760.c:347:2: error: unknown field 'pcm_new' specified in initializer
	sound/soc/sh/dma-sh7760.c:347:2: warning: initialization makes integer from pointer without a cast
	sound/soc/sh/dma-sh7760.c:348:2: error: unknown field 'pcm_free' specified in initializer
	sound/soc/sh/dma-sh7760.c:348:2: warning: initialization from incompatible pointer type
	sound/soc/sh/dma-sh7760.c: In function 'sh7760_soc_platform_probe':
	sound/soc/sh/dma-sh7760.c:353:2: warning: passing argument 2 of 'snd_soc_register_platform' from incompatible pointer type
	include/sound/soc.h:368:5: note: expected 'struct snd_soc_platform_driver *' but argument is of type 'struct snd_soc_platform *'

This is due the misnaming of the snd_soc_platform_driver type name and 'ops'
field. The issue was introduced in commit f0fba2a("ASoC: multi-component - ASoC
Multi-Component Support").

Signed-off-by: Lars-Peter Clausen &lt;lars@metafoo.de&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ALSA: snd-usb: mixer: ignore -EINVAL in snd_usb_mixer_controls()</title>
<updated>2013-03-28T19:06:02Z</updated>
<author>
<name>Daniel Mack</name>
<email>zonque@gmail.com</email>
</author>
<published>2013-03-19T20:09:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=48a6edd00c703041a0bdfd756aa155b88b69c2b3'/>
<id>urn:sha1:48a6edd00c703041a0bdfd756aa155b88b69c2b3</id>
<content type='text'>
commit 83ea5d18d74f032a760fecde78c0210f66f7f70c upstream.

Creation of individual mixer controls may fail, but that shouldn't cause
the entire mixer creation to fail. Even worse, if the mixer creation
fails, that will error out the entire device probing.

All the functions called by parse_audio_unit() should return -EINVAL if
they find descriptors that are unsupported or believed to be malformed,
so we can safely handle this error code as a non-fatal condition in
snd_usb_mixer_controls().

That fixes a long standing bug which is commonly worked around by
adding quirks which make the driver ignore entire interfaces. Some of
them might now be unnecessary.

Signed-off-by: Daniel Mack &lt;zonque@gmail.com&gt;
Reported-and-tested-by: Rodolfo Thomazelli &lt;pe.soberbo@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>ALSA: snd-usb: mixer: propagate errors up the call chain</title>
<updated>2013-03-28T19:06:01Z</updated>
<author>
<name>Daniel Mack</name>
<email>zonque@gmail.com</email>
</author>
<published>2013-03-19T20:09:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8eb3446cae04c4d100818003dac2d4546e3f0704'/>
<id>urn:sha1:8eb3446cae04c4d100818003dac2d4546e3f0704</id>
<content type='text'>
commit 4d7b86c98e445b075c2c4c3757eb6d3d6efbe72e upstream.

In check_input_term() and parse_audio_feature_unit(), propagate the
error value that has been returned by a failing function instead of
-EINVAL. That helps cleaning up the error pathes in the mixer.

Signed-off-by: Daniel Mack &lt;zonque@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>ALSA: hda - Fix typo in checking IEC958 emphasis bit</title>
<updated>2013-03-28T19:06:01Z</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2013-03-20T14:42:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=90c925a0edaec90fe169ab62dffa570de362d5b1'/>
<id>urn:sha1:90c925a0edaec90fe169ab62dffa570de362d5b1</id>
<content type='text'>
commit a686fd141e20244ad75f80ad54706da07d7bb90a upstream.

There is a typo in convert_to_spdif_status() about checking the
emphasis IEC958 status bit.  It should check the given value instead
of the resultant value.

Reported-by: Martin Weishart &lt;martin.weishart@telosalliance.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: seq: Fix missing error handling in snd_seq_timer_open()</title>
<updated>2013-03-20T19:58:52Z</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2013-03-08T17:11:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d0956066d316f0026aaa058cdfec5bb159da0c55'/>
<id>urn:sha1:d0956066d316f0026aaa058cdfec5bb159da0c55</id>
<content type='text'>
commit 66efdc71d95887b652a742a5dae51fa834d71465 upstream.

snd_seq_timer_open() didn't catch the whole error path but let through
if the timer id is a slave.  This may lead to Oops by accessing the
uninitialized pointer.

 BUG: unable to handle kernel NULL pointer dereference at 00000000000002ae
 IP: [&lt;ffffffff819b3477&gt;] snd_seq_timer_open+0xe7/0x130
 PGD 785cd067 PUD 76964067 PMD 0
 Oops: 0002 [#4] SMP
 CPU 0
 Pid: 4288, comm: trinity-child7 Tainted: G      D W 3.9.0-rc1+ #100 Bochs Bochs
 RIP: 0010:[&lt;ffffffff819b3477&gt;]  [&lt;ffffffff819b3477&gt;] snd_seq_timer_open+0xe7/0x130
 RSP: 0018:ffff88006ece7d38  EFLAGS: 00010246
 RAX: 0000000000000286 RBX: ffff88007851b400 RCX: 0000000000000000
 RDX: 000000000000ffff RSI: ffff88006ece7d58 RDI: ffff88006ece7d38
 RBP: ffff88006ece7d98 R08: 000000000000000a R09: 000000000000fffe
 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
 R13: ffff8800792c5400 R14: 0000000000e8f000 R15: 0000000000000007
 FS:  00007f7aaa650700(0000) GS:ffff88007f800000(0000) GS:0000000000000000
 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
 CR2: 00000000000002ae CR3: 000000006efec000 CR4: 00000000000006f0
 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
 Process trinity-child7 (pid: 4288, threadinfo ffff88006ece6000, task ffff880076a8a290)
 Stack:
  0000000000000286 ffffffff828f2be0 ffff88006ece7d58 ffffffff810f354d
  65636e6575716573 2065756575712072 ffff8800792c0030 0000000000000000
  ffff88006ece7d98 ffff8800792c5400 ffff88007851b400 ffff8800792c5520
 Call Trace:
  [&lt;ffffffff810f354d&gt;] ? trace_hardirqs_on+0xd/0x10
  [&lt;ffffffff819b17e9&gt;] snd_seq_queue_timer_open+0x29/0x70
  [&lt;ffffffff819ae01a&gt;] snd_seq_ioctl_set_queue_timer+0xda/0x120
  [&lt;ffffffff819acb9b&gt;] snd_seq_do_ioctl+0x9b/0xd0
  [&lt;ffffffff819acbe0&gt;] snd_seq_ioctl+0x10/0x20
  [&lt;ffffffff811b9542&gt;] do_vfs_ioctl+0x522/0x570
  [&lt;ffffffff8130a4b3&gt;] ? file_has_perm+0x83/0xa0
  [&lt;ffffffff810f354d&gt;] ? trace_hardirqs_on+0xd/0x10
  [&lt;ffffffff811b95ed&gt;] sys_ioctl+0x5d/0xa0
  [&lt;ffffffff813663fe&gt;] ? trace_hardirqs_on_thunk+0x3a/0x3f
  [&lt;ffffffff81faed69&gt;] system_call_fastpath+0x16/0x1b

Reported-and-tested-by: Tommi Rantala &lt;tt.rantala@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>
</feed>
