<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/sound/usb, branch linux-4.1.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.1.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.1.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2018-05-23T01:36:37Z</updated>
<entry>
<title>ALSA: usb-audio: Skip broken EU on Dell dock USB-audio</title>
<updated>2018-05-23T01:36:37Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2018-04-24T09:11:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ed5fb8b333d6c4e4c6f2a0b06f5078761b9ea4ba'/>
<id>urn:sha1:ed5fb8b333d6c4e4c6f2a0b06f5078761b9ea4ba</id>
<content type='text'>
[ Upstream commit 1d8d6428d1da642ddd75b0be2d1bb1123ff8e017 ]

The Dell Dock USB-audio device with 0bda:4014 is behaving notoriously
bad, and we have already applied some workaround to avoid the firmware
hiccup.  Yet we still need to skip one thing, the Extension Unit at ID
4, which doesn't react correctly to the mixer ctl access.

Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=1090658
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
</content>
</entry>
<entry>
<title>ALSA: line6: Use correct endpoint type for midi output</title>
<updated>2018-05-23T01:36:34Z</updated>
<author>
<name>Fabián Inostroza</name>
</author>
<published>2018-04-12T03:37:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=04c18886ed5c9450fe96add7806ad7f03d163555'/>
<id>urn:sha1:04c18886ed5c9450fe96add7806ad7f03d163555</id>
<content type='text'>
[ Upstream commit 7ecb46e9ee9af18e304eb9e7d6804c59a408e846 ]

Sending MIDI messages to a PODxt through the USB connection shows
"usb_submit_urb failed" in dmesg and the message is not received by
the POD.

The error is caused because in the funcion send_midi_async() in midi.c
there is a call to usb_sndbulkpipe() for endpoint 3 OUT, but the PODxt
USB descriptor shows that this endpoint it's an interrupt endpoint.

Patch tested with PODxt only.

[ The bug has been present from the very beginning in the staging
  driver time, but Fixes below points to the commit moving to sound/
  directory so that the fix can be cleanly applied -- tiwai ]

Fixes: 61864d844c29 ("ALSA: move line6 usb driver into sound/usb")
Signed-off-by: Fabián Inostroza &lt;fabianinostroza@udec.cl&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
</content>
</entry>
<entry>
<title>ALSA: usb-audio: Add a quirck for B&amp;W PX headphones</title>
<updated>2018-03-21T03:49:47Z</updated>
<author>
<name>Erik Veijola</name>
</author>
<published>2018-02-23T12:06:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ff8c525b2c1c24fe794a2fb399aef5ece9a3b5ce'/>
<id>urn:sha1:ff8c525b2c1c24fe794a2fb399aef5ece9a3b5ce</id>
<content type='text'>
[ Upstream commit 240a8af929c7c57dcde28682725b29cf8474e8e5 ]

The capture interface doesn't work and the playback interface only
supports 48 kHz sampling rate even though it advertises more rates.

Signed-off-by: Erik Veijola &lt;erik.veijola@gmail.com&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
</content>
</entry>
<entry>
<title>ALSA: usb-audio: add implicit fb quirk for Behringer UFX1204</title>
<updated>2018-03-04T15:28:23Z</updated>
<author>
<name>Lassi Ylikojola</name>
</author>
<published>2018-02-09T14:51:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=52972f71768144eb636650b443203aedc9744ba2'/>
<id>urn:sha1:52972f71768144eb636650b443203aedc9744ba2</id>
<content type='text'>
[ Upstream commit 5e35dc0338d85ccebacf3f77eca1e5dea73155e8 ]

Add quirk to ensure a sync endpoint is properly configured.
This patch is a fix for same symptoms on Behringer UFX1204 as patch
from Albertto Aquirre on Dec 8 2016 for Axe-Fx II.

Signed-off-by: Lassi Ylikojola &lt;lassi.ylikojola@gmail.com&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
</content>
</entry>
<entry>
<title>ALSA: usb-audio: Fix UAC2 get_ctl request with a RANGE attribute</title>
<updated>2018-03-04T15:28:23Z</updated>
<author>
<name>Kirill Marinushkin</name>
</author>
<published>2018-01-29T05:37:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a3f72a7d9ef3a3d904bc1700f207146ca905e128'/>
<id>urn:sha1:a3f72a7d9ef3a3d904bc1700f207146ca905e128</id>
<content type='text'>
[ Upstream commit 447cae58cecd69392b74a4a42cd0ab9cabd816af ]

The layout of the UAC2 Control request and response varies depending on
the request type. With the current implementation, only the Layout 2
Parameter Block (with the 2-byte sized RANGE attribute) is handled
properly. For the Control requests with the 1-byte sized RANGE attribute
(Bass Control, Mid Control, Tremble Control), the response is parsed
incorrectly.

This commit:
* fixes the wLength field value in the request
* fixes parsing the range values from the response

Fixes: 23caaf19b11e ("ALSA: usb-mixer: Add support for Audio Class v2.0")
Signed-off-by: Kirill Marinushkin &lt;k.marinushkin@gmail.com&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
</content>
</entry>
<entry>
<title>ALSA: usb-audio: Fix the missing ctl name suffix at parsing SU</title>
<updated>2018-03-01T00:32:17Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2017-12-18T22:36:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e70b66ca7f3ddf2f42abcc7fc46893568cf8a9d7'/>
<id>urn:sha1:e70b66ca7f3ddf2f42abcc7fc46893568cf8a9d7</id>
<content type='text'>
[ Upstream commit 5a15f289ee87eaf33f13f08a4909ec99d837ec5f ]

The commit 89b89d121ffc ("ALSA: usb-audio: Add check return value for
usb_string()") added the check of the return value from
snd_usb_copy_string_desc(), which is correct per se, but it introduced
a regression.  In the original code, either the "Clock Source",
"Playback Source" or "Capture Source" suffix is added after the
terminal string, while the commit changed it to add the suffix only
when get_term_name() is failing.  It ended up with an incorrect ctl
name like "PCM" instead of "PCM Capture Source".

Also, even the original code has a similar bug: when the ctl name is
generated from snd_usb_copy_string_desc() for the given iSelector, it
also doesn't put the suffix.

This patch addresses these issues: the suffix is added always when no
static mapping is found.  Also the patch tries to put more comments
and cleans up the if/else block for better readability in order to
avoid the same pitfall again.

Fixes: 89b89d121ffc ("ALSA: usb-audio: Add check return value for usb_string()")
Reported-and-tested-by: Mauro Santos &lt;registo.mailling@gmail.com&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
</content>
</entry>
<entry>
<title>ALSA: usb-audio: Add check return value for usb_string()</title>
<updated>2018-01-17T17:55:24Z</updated>
<author>
<name>Jaejoong Kim</name>
</author>
<published>2017-12-04T06:31:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1eb1c013cc42e878cb3c87b1587c3bb303dea8d5'/>
<id>urn:sha1:1eb1c013cc42e878cb3c87b1587c3bb303dea8d5</id>
<content type='text'>
[ Upstream commit 89b89d121ffcf8d9546633b98ded9d18b8f75891 ]

snd_usb_copy_string_desc() returns zero if usb_string() fails.
In case of failure, we need to check the snd_usb_copy_string_desc()'s
return value and add an exception case

Signed-off-by: Jaejoong Kim &lt;climbbb.kim@gmail.com&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
</content>
</entry>
<entry>
<title>ALSA: usb-audio: Fix out-of-bound error</title>
<updated>2018-01-17T17:55:24Z</updated>
<author>
<name>Jaejoong Kim</name>
</author>
<published>2017-12-04T06:31:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1972b63db65eeead06e9e8e21bc7e26ef4807769'/>
<id>urn:sha1:1972b63db65eeead06e9e8e21bc7e26ef4807769</id>
<content type='text'>
[ Upstream commit 251552a2b0d454badc8f486e6d79100970c744b0 ]

The snd_usb_copy_string_desc() retrieves the usb string corresponding to
the index number through the usb_string(). The problem is that the
usb_string() returns the length of the string (&gt;= 0) when successful, but
it can also return a negative value about the error case or status of
usb_control_msg().

If iClockSource is '0' as shown below, usb_string() will returns -EINVAL.
This will result in '0' being inserted into buf[-22], and the following
KASAN out-of-bound error message will be output.

AudioControl Interface Descriptor:
  bLength                 8
  bDescriptorType        36
  bDescriptorSubtype     10 (CLOCK_SOURCE)
  bClockID                1
  bmAttributes         0x07 Internal programmable Clock (synced to SOF)
  bmControls           0x07
  Clock Frequency Control (read/write)
  Clock Validity Control (read-only)
  bAssocTerminal          0
  iClockSource            0

To fix it, check usb_string()'return value and bail out.

==================================================================
BUG: KASAN: stack-out-of-bounds in parse_audio_unit+0x1327/0x1960 [snd_usb_audio]
Write of size 1 at addr ffff88007e66735a by task systemd-udevd/18376

CPU: 0 PID: 18376 Comm: systemd-udevd Not tainted 4.13.0+ #3
Hardware name: LG Electronics                   15N540-RFLGL/White Tip Mountain, BIOS 15N5
Call Trace:
dump_stack+0x63/0x8d
print_address_description+0x70/0x290
? parse_audio_unit+0x1327/0x1960 [snd_usb_audio]
kasan_report+0x265/0x350
__asan_store1+0x4a/0x50
parse_audio_unit+0x1327/0x1960 [snd_usb_audio]
? save_stack+0xb5/0xd0
? save_stack_trace+0x1b/0x20
? save_stack+0x46/0xd0
? kasan_kmalloc+0xad/0xe0
? kmem_cache_alloc_trace+0xff/0x230
? snd_usb_create_mixer+0xb0/0x4b0 [snd_usb_audio]
? usb_audio_probe+0x4de/0xf40 [snd_usb_audio]
? usb_probe_interface+0x1f5/0x440
? driver_probe_device+0x3ed/0x660
? build_feature_ctl+0xb10/0xb10 [snd_usb_audio]
? save_stack_trace+0x1b/0x20
? init_object+0x69/0xa0
? snd_usb_find_csint_desc+0xa8/0xf0 [snd_usb_audio]
snd_usb_mixer_controls+0x1dc/0x370 [snd_usb_audio]
? build_audio_procunit+0x890/0x890 [snd_usb_audio]
? snd_usb_create_mixer+0xb0/0x4b0 [snd_usb_audio]
? kmem_cache_alloc_trace+0xff/0x230
? usb_ifnum_to_if+0xbd/0xf0
snd_usb_create_mixer+0x25b/0x4b0 [snd_usb_audio]
? snd_usb_create_stream+0x255/0x2c0 [snd_usb_audio]
usb_audio_probe+0x4de/0xf40 [snd_usb_audio]
? snd_usb_autosuspend.part.7+0x30/0x30 [snd_usb_audio]
? __pm_runtime_idle+0x90/0x90
? kernfs_activate+0xa6/0xc0
? usb_match_one_id_intf+0xdc/0x130
? __pm_runtime_set_status+0x2d4/0x450
usb_probe_interface+0x1f5/0x440

Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Jaejoong Kim &lt;climbbb.kim@gmail.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
</content>
</entry>
<entry>
<title>ALSA: usb-audio: Add sanity checks in v2 clock parsers</title>
<updated>2017-12-08T23:01:04Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2017-11-21T16:28:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9f8edc402a18be594ef64dd68cbe0d652776c1f3'/>
<id>urn:sha1:9f8edc402a18be594ef64dd68cbe0d652776c1f3</id>
<content type='text'>
[ Upstream commit 0a62d6c966956d77397c32836a5bbfe3af786fc1 ]

The helper functions to parse and look for the clock source, selector
and multiplier unit may return the descriptor with a too short length
than required, while there is no sanity check in the caller side.
Add some sanity checks in the parsers, at least, to guarantee the
given descriptor size, for avoiding the potential crashes.

Fixes: 79f920fbff56 ("ALSA: usb-audio: parse clock topology of UAC2 devices")
Reported-by: Andrey Konovalov &lt;andreyknvl@google.com&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
</content>
</entry>
<entry>
<title>ALSA: usb-audio: Fix potential out-of-bound access at parsing SU</title>
<updated>2017-12-08T23:01:03Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2017-11-21T16:00:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0392f95be48f1601672f35a7831f4985fadea0d6'/>
<id>urn:sha1:0392f95be48f1601672f35a7831f4985fadea0d6</id>
<content type='text'>
[ Upstream commit f658f17b5e0e339935dca23e77e0f3cad591926b ]

The usb-audio driver may trigger an out-of-bound access at parsing a
malformed selector unit, as it checks the header length only after
evaluating bNrInPins field, which can be already above the given
length.  Fix it by adding the length check beforehand.

Fixes: 99fc86450c43 ("ALSA: usb-mixer: parse descriptors with structs")
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
</content>
</entry>
</feed>
