<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/sound, branch v3.0.91</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/sound?h=v3.0.91</id>
<link rel='self' href='https://git.amat.us/linux/atom/sound?h=v3.0.91'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-08-04T07:43:30Z</updated>
<entry>
<title>ASoC: max98088 - fix element type of the register cache.</title>
<updated>2013-08-04T07:43:30Z</updated>
<author>
<name>Chih-Chung Chang</name>
<email>chihchung@chromium.org</email>
</author>
<published>2013-07-15T16:38:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=45cbbc0dd83c048d2c231bfac9cb60ef3d8f0ea6'/>
<id>urn:sha1:45cbbc0dd83c048d2c231bfac9cb60ef3d8f0ea6</id>
<content type='text'>
commit cb6f66a2d278e57a6c9d8fb59bd9ebd8ab3965c2 upstream.

The registers of max98088 are 8 bits, not 16 bits. This bug causes the
contents of registers to be overwritten with bad values when the codec
is suspended and then resumed.

Signed-off-by: Chih-Chung Chang &lt;chihchung@chromium.org&gt;
Signed-off-by: Dylan Reid &lt;dgreid@chromium.org&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ALSA: usb-audio: 6fire: return correct XRUN indication</title>
<updated>2013-07-28T23:18:52Z</updated>
<author>
<name>Eldad Zack</name>
<email>eldad@fogrefinery.com</email>
</author>
<published>2013-07-19T16:26:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2d4fe72b277dde96b6cb765b13689d98ee759a5f'/>
<id>urn:sha1:2d4fe72b277dde96b6cb765b13689d98ee759a5f</id>
<content type='text'>
commit be2f93a4c4981b3646b6f98f477154411b8516cb upstream.

Return SNDRV_PCM_POS_XRUN (snd_pcm_uframes_t) instead of
SNDRV_PCM_STATE_XRUN (snd_pcm_state_t) from the pointer
function of 6fire, as expected by snd_pcm_update_hw_ptr0().

Caught by sparse.

Signed-off-by: Eldad Zack &lt;eldad@fogrefinery.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: sglt5000: Fix SGTL5000_PLL_FRAC_DIV_MASK</title>
<updated>2013-07-28T23:18:25Z</updated>
<author>
<name>Fabio Estevam</name>
<email>fabio.estevam@freescale.com</email>
</author>
<published>2013-07-04T23:01:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ed8aac0dcdc333c2e3d1b49c098284be3d6d3421'/>
<id>urn:sha1:ed8aac0dcdc333c2e3d1b49c098284be3d6d3421</id>
<content type='text'>
commit 5c78dfe87ea04b501ee000a7f03b9432ac9d008c upstream.

SGTL5000_PLL_FRAC_DIV_MASK is used to mask bits 0-10 (11 bits in total) of
register CHIP_PLL_CTRL, so fix the mask to accomodate all this bit range.

Reported-by: Oskar Schirmer &lt;oskar@scara.com&gt;
Signed-off-by: Fabio Estevam &lt;fabio.estevam@freescale.com&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ALSA: usb-audio: work around Android accessory firmware bug</title>
<updated>2013-06-27T17:34:31Z</updated>
<author>
<name>Clemens Ladisch</name>
<email>clemens@ladisch.de</email>
</author>
<published>2013-06-15T09:21:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=68af5a0e5cdb5e5c9ae53af4eb6e5ab8dbdd9cb4'/>
<id>urn:sha1:68af5a0e5cdb5e5c9ae53af4eb6e5ab8dbdd9cb4</id>
<content type='text'>
commit 342cda29343a6272c630f94ed56810a76740251b upstream.

When the Android firmware enables the audio interfaces in accessory
mode, it always declares in the control interface's baInterfaceNr array
that interfaces 0 and 1 belong to the audio function.  However, the
accessory interface itself, if also enabled, already is at index 0 and
shifts the actual audio interface numbers to 1 and 2, which prevents the
PCM streaming interface from being seen by the host driver.

To get the PCM interface interface to work, detect when the descriptors
point to the (for this driver useless) accessory interface, and redirect
to the correct one.

Reported-by: Jeremy Rosen &lt;jeremy.rosen@openwide.fr&gt;
Tested-by: Jeremy Rosen &lt;jeremy.rosen@openwide.fr&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 - Apply Logitech QuickCam Pro 9000 quirk only to audio iface</title>
<updated>2013-06-13T16:25:01Z</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2013-06-04T14:02:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=01fcf83196be95454880a729cb6c483a7d9cef4b'/>
<id>urn:sha1:01fcf83196be95454880a729cb6c483a7d9cef4b</id>
<content type='text'>
commit 8eafc0a161123d90617c9ca2eddfe87b382b1b89 upstream.

... instead of applying to all interfaces.

Reference: http://forums.gentoo.org/viewtopic-p-6886404.html

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 integer overflow in create_fixed_stream_quirk()</title>
<updated>2013-06-07T19:46:48Z</updated>
<author>
<name>Xi Wang</name>
<email>xi.wang@gmail.com</email>
</author>
<published>2012-02-14T10:18:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=93a327fcdef0c9e089ba7b347780cf9eaa92677f'/>
<id>urn:sha1:93a327fcdef0c9e089ba7b347780cf9eaa92677f</id>
<content type='text'>
commit 8866f405efd4171f9d9c91901d2dd02f01bacb60 upstream.

A malicious USB device could feed in a large nr_rates value.  This would
cause the subsequent call to kmemdup() to allocate a smaller buffer than
expected, leading to out-of-bounds access.

This patch validates the nr_rates value and reuses the limit introduced
in commit 4fa0e81b ("ALSA: usb-audio: fix possible hang and overflow
in parse_uac2_sample_rate_range()").

Signed-off-by: Xi Wang &lt;xi.wang@gmail.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Cc: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ALSA: usb-audio: fix possible hang and overflow in parse_uac2_sample_rate_range()</title>
<updated>2013-06-07T19:46:48Z</updated>
<author>
<name>Xi Wang</name>
<email>xi.wang@gmail.com</email>
</author>
<published>2012-01-08T14:02:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=44f059fb742aac78cffdab5e0d8fe0c9910c1ded'/>
<id>urn:sha1:44f059fb742aac78cffdab5e0d8fe0c9910c1ded</id>
<content type='text'>
commit 4fa0e81b83503900be277e6273a79651b375e288 upstream.

A malicious USB device may feed in carefully crafted min/max/res values,
so that the inner loop in parse_uac2_sample_rate_range() could run for
a long time or even never terminate, e.g., given max = INT_MAX.

Also nr_rates could be a large integer, which causes an integer overflow
in the subsequent call to kmalloc() in parse_audio_format_rates_v2().
Thus, kmalloc() would allocate a smaller buffer than expected, leading
to a memory corruption.

To exploit the two vulnerabilities, an attacker needs physical access
to the machine to plug in a malicious USB device.

This patch makes two changes.

1) The type of "rate" is changed to unsigned int, so that the loop could
   stop once "rate" is larger than INT_MAX.

2) Limit nr_rates to 1024.

Suggested-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Xi Wang &lt;xi.wang@gmail.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Cc: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ASoC: wm8994: missing break in wm8994_aif3_hw_params()</title>
<updated>2013-05-19T17:04:36Z</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2013-04-30T07:24:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8856cb69e794e8554109aef2568817a304b70ae7'/>
<id>urn:sha1:8856cb69e794e8554109aef2568817a304b70ae7</id>
<content type='text'>
commit 4495e46fe18f198366961bb2b324a694ef8a9b44 upstream.

The missing break here means that we always return early and the
function is a no-op.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&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>ASoC: max98088: Fix logging of hardware revision.</title>
<updated>2013-05-08T02:57:25Z</updated>
<author>
<name>Dylan Reid</name>
<email>dgreid@chromium.org</email>
</author>
<published>2013-04-17T03:02:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=748026dd8039469e20429b3e8090bbfbba234089'/>
<id>urn:sha1:748026dd8039469e20429b3e8090bbfbba234089</id>
<content type='text'>
commit 98682063549bedd6e2d2b6b7222f150c6fbce68c upstream.

The hardware revision of the codec is based at 0x40.  Subtract that
before convering to ASCII.  The same as it is done for 98095.

Signed-off-by: Dylan Reid &lt;dgreid@chromium.org&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 autopm error during probing</title>
<updated>2013-05-08T02:57:25Z</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2013-04-25T05:38:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=430c701136b9168fbb63b6391af0b8f4216817a9'/>
<id>urn:sha1:430c701136b9168fbb63b6391af0b8f4216817a9</id>
<content type='text'>
commit 60af3d037eb8c670dcce31401501d1271e7c5d95 upstream.

We've got strange errors in get_ctl_value() in mixer.c during
probing, e.g. on Hercules RMX2 DJ Controller:

  ALSA mixer.c:352 cannot get ctl value: req = 0x83, wValue = 0x201, wIndex = 0xa00, type = 4
  ALSA mixer.c:352 cannot get ctl value: req = 0x83, wValue = 0x200, wIndex = 0xa00, type = 4
  ....

It turned out that the culprit is autopm: snd_usb_autoresume() returns
-ENODEV when called during card-&gt;probing = 1.

Since the call itself during card-&gt;probing = 1 is valid, let's fix the
return value of snd_usb_autoresume() as success.

Reported-and-tested-by: Daniel Schürmann &lt;daschuer@mixxx.org&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>
