<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/sound/usb, branch v3.14.41</title>
<subtitle>Clone of https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git</subtitle>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/'/>
<entry>
<title>ALSA: usb - Creative USB X-Fi Pro SB1095 volume knob support</title>
<updated>2015-04-19T08:11:05+00:00</updated>
<author>
<name>Dmitry M. Fedin</name>
<email>dmitry.fedin@gmail.com</email>
</author>
<published>2015-04-09T14:37:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=6a8bc76409acd4bc64250f43f974d4e6463a39fa'/>
<id>6a8bc76409acd4bc64250f43f974d4e6463a39fa</id>
<content type='text'>
commit 3dc8523fa7412e731441c01fb33f003eb3cfece1 upstream.

Adds an entry for Creative USB X-Fi to the rc_config array in
mixer_quirks.c to allow use of volume knob on the device.
Adds support for newer X-Fi Pro card, known as "Model No. SB1095"
with USB ID "041e:3237"

Signed-off-by: Dmitry M. Fedin &lt;dmitry.fedin@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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 3dc8523fa7412e731441c01fb33f003eb3cfece1 upstream.

Adds an entry for Creative USB X-Fi to the rc_config array in
mixer_quirks.c to allow use of volume knob on the device.
Adds support for newer X-Fi Pro card, known as "Model No. SB1095"
with USB ID "041e:3237"

Signed-off-by: Dmitry M. Fedin &lt;dmitry.fedin@gmail.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>ALSA: snd-usb: add quirks for Roland UA-22</title>
<updated>2015-03-26T14:06:55+00:00</updated>
<author>
<name>Daniel Mack</name>
<email>daniel@zonque.org</email>
</author>
<published>2015-03-12T08:41:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=eb3deba1b8edfcf985e6c30b082c502c75b894e7'/>
<id>eb3deba1b8edfcf985e6c30b082c502c75b894e7</id>
<content type='text'>
commit fcdcd1dec6d2c7b718385ec743ae5a9a233edad4 upstream.

The device complies to the UAC1 standard but hides that fact with
proprietary descriptors. The autodetect quirk for Roland devices
catches the audio interface but misses the MIDI part, so a specific
quirk is needed.

Signed-off-by: Daniel Mack &lt;daniel@zonque.org&gt;
Reported-by: Rafa Lafuente &lt;rafalafuente@gmail.com&gt;
Tested-by: Raphaël Doursenaud &lt;raphael@doursenaud.fr&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit fcdcd1dec6d2c7b718385ec743ae5a9a233edad4 upstream.

The device complies to the UAC1 standard but hides that fact with
proprietary descriptors. The autodetect quirk for Roland devices
catches the audio interface but misses the MIDI part, so a specific
quirk is needed.

Signed-off-by: Daniel Mack &lt;daniel@zonque.org&gt;
Reported-by: Rafa Lafuente &lt;rafalafuente@gmail.com&gt;
Tested-by: Raphaël Doursenaud &lt;raphael@doursenaud.fr&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>ALSA: usb-audio: Add mic volume fix quirk for Logitech Webcam C210</title>
<updated>2015-01-30T01:40:48+00:00</updated>
<author>
<name>Jason Lee Cragg</name>
<email>jcragg@gmail.com</email>
</author>
<published>2015-01-17T17:28:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=01680bc55fcfc8269b0afa62d4f812ee870af5c6'/>
<id>01680bc55fcfc8269b0afa62d4f812ee870af5c6</id>
<content type='text'>
commit 6455931186bff407493135e74c5f32efd30860e2 upstream.

Signed-off-by: Jason Lee Cragg &lt;jcragg@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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 6455931186bff407493135e74c5f32efd30860e2 upstream.

Signed-off-by: Jason Lee Cragg &lt;jcragg@gmail.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>sound: Update au0828 quirks table</title>
<updated>2015-01-27T16:18:56+00:00</updated>
<author>
<name>Mauro Carvalho Chehab</name>
<email>mchehab@osg.samsung.com</email>
</author>
<published>2014-10-30T10:53:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=5c8bce2b451df55571fcd349820411615d6227f6'/>
<id>5c8bce2b451df55571fcd349820411615d6227f6</id>
<content type='text'>
commit 678fa12fb8e75c6dc1e781a02e3ddbbba7e1a904 upstream.

The au0828 quirks table is currently not in sync with the au0828
media driver.

Syncronize it and put them on the same order as found at au0828
driver, as all the au0828 devices with analog TV need the
same quirks.

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 678fa12fb8e75c6dc1e781a02e3ddbbba7e1a904 upstream.

The au0828 quirks table is currently not in sync with the au0828
media driver.

Syncronize it and put them on the same order as found at au0828
driver, as all the au0828 devices with analog TV need the
same quirks.

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>sound: simplify au0828 quirk table</title>
<updated>2015-01-27T16:18:56+00:00</updated>
<author>
<name>Mauro Carvalho Chehab</name>
<email>mchehab@osg.samsung.com</email>
</author>
<published>2014-10-30T10:53:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=38722897ccfc15527a252d1e2180dc7f556e74cd'/>
<id>38722897ccfc15527a252d1e2180dc7f556e74cd</id>
<content type='text'>
commit 5d1f00a20d2d56ed480e64e938a2391353ee565b upstream.

Add a macro to simplify au0828 quirk table. That makes easier
to check it against the USB IDs at drivers/media/usb/au0828/au0828-cards.c.

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 5d1f00a20d2d56ed480e64e938a2391353ee565b upstream.

Add a macro to simplify au0828 quirk table. That makes easier
to check it against the USB IDs at drivers/media/usb/au0828/au0828-cards.c.

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>ALSA: usb-audio: extend KEF X300A FU 10 tweak to Arcam rPAC</title>
<updated>2015-01-16T14:59:31+00:00</updated>
<author>
<name>Jiri Jaburek</name>
<email>jjaburek@redhat.com</email>
</author>
<published>2014-12-18T01:03:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=af769e768312266eab883668a1f386313d41100b'/>
<id>af769e768312266eab883668a1f386313d41100b</id>
<content type='text'>
commit d70a1b9893f820fdbcdffac408c909c50f2e6b43 upstream.

The Arcam rPAC seems to have the same problem - whenever anything
(alsamixer, udevd, 3.9+ kernel from 60af3d037eb8c, ..) attempts to
access mixer / control interface of the card, the firmware "locks up"
the entire device, resulting in
  SNDRV_PCM_IOCTL_HW_PARAMS failed (-5): Input/output error
from alsa-lib.

Other operating systems can somehow read the mixer (there seems to be
playback volume/mute), but any manipulation is ignored by the device
(which has hardware volume controls).

Signed-off-by: Jiri Jaburek &lt;jjaburek@redhat.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit d70a1b9893f820fdbcdffac408c909c50f2e6b43 upstream.

The Arcam rPAC seems to have the same problem - whenever anything
(alsamixer, udevd, 3.9+ kernel from 60af3d037eb8c, ..) attempts to
access mixer / control interface of the card, the firmware "locks up"
the entire device, resulting in
  SNDRV_PCM_IOCTL_HW_PARAMS failed (-5): Input/output error
from alsa-lib.

Other operating systems can somehow read the mixer (there seems to be
playback volume/mute), but any manipulation is ignored by the device
(which has hardware volume controls).

Signed-off-by: Jiri Jaburek &lt;jjaburek@redhat.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>ALSA: usb-audio: Don't resubmit pending URBs at MIDI error recovery</title>
<updated>2014-12-16T17:34:28+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='https://git.exis.tech/linux.git/commit/?id=32af484e0c4b7df059045df45261b3a56a3d8c6d'/>
<id>32af484e0c4b7df059045df45261b3a56a3d8c6d</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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;

</pre>
</div>
</content>
</entry>
<entry>
<title>ALSA: usb-audio: Add ctrl message delay quirk for Marantz/Denon devices</title>
<updated>2014-12-06T23:55:37+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='https://git.exis.tech/linux.git/commit/?id=c411574a781db07245aeda9a1c5ba1d6fe25576b'/>
<id>c411574a781db07245aeda9a1c5ba1d6fe25576b</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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;

</pre>
</div>
</content>
</entry>
<entry>
<title>ALSA: usb-audio: Fix memory leak in FTU quirk</title>
<updated>2014-11-21T17:23:01+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='https://git.exis.tech/linux.git/commit/?id=1d9e783748ddef36fa1ae6284da09a23904b5ef5'/>
<id>1d9e783748ddef36fa1ae6284da09a23904b5ef5</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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;

</pre>
</div>
</content>
</entry>
<entry>
<title>ALSA: usb-audio: Fix device_del() sysfs warnings at disconnect</title>
<updated>2014-11-14T17:00:06+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2014-11-05T14:08:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=93e5f41be83d6570dd986ebe2cd86017e38c73f9'/>
<id>93e5f41be83d6570dd986ebe2cd86017e38c73f9</id>
<content type='text'>
commit 0725dda207e95ff25f1aa01432250323e0ec49d6 upstream.

Some USB-audio devices show weird sysfs warnings at disconnecting the
devices, e.g.
 usb 1-3: USB disconnect, device number 3
 ------------[ cut here ]------------
 WARNING: CPU: 0 PID: 973 at fs/sysfs/group.c:216 device_del+0x39/0x180()
 sysfs group ffffffff8183df40 not found for kobject 'midiC1D0'
 Call Trace:
  [&lt;ffffffff814a3e38&gt;] ? dump_stack+0x49/0x71
  [&lt;ffffffff8103cb72&gt;] ? warn_slowpath_common+0x82/0xb0
  [&lt;ffffffff8103cc55&gt;] ? warn_slowpath_fmt+0x45/0x50
  [&lt;ffffffff813521e9&gt;] ? device_del+0x39/0x180
  [&lt;ffffffff81352339&gt;] ? device_unregister+0x9/0x20
  [&lt;ffffffff81352384&gt;] ? device_destroy+0x34/0x40
  [&lt;ffffffffa00ba29f&gt;] ? snd_unregister_device+0x7f/0xd0 [snd]
  [&lt;ffffffffa025124e&gt;] ? snd_rawmidi_dev_disconnect+0xce/0x100 [snd_rawmidi]
  [&lt;ffffffffa00c0192&gt;] ? snd_device_disconnect+0x62/0x90 [snd]
  [&lt;ffffffffa00c025c&gt;] ? snd_device_disconnect_all+0x3c/0x60 [snd]
  [&lt;ffffffffa00bb574&gt;] ? snd_card_disconnect+0x124/0x1a0 [snd]
  [&lt;ffffffffa02e54e8&gt;] ? usb_audio_disconnect+0x88/0x1c0 [snd_usb_audio]
  [&lt;ffffffffa015260e&gt;] ? usb_unbind_interface+0x5e/0x1b0 [usbcore]
  [&lt;ffffffff813553e9&gt;] ? __device_release_driver+0x79/0xf0
  [&lt;ffffffff81355485&gt;] ? device_release_driver+0x25/0x40
  [&lt;ffffffff81354e11&gt;] ? bus_remove_device+0xf1/0x130
  [&lt;ffffffff813522b9&gt;] ? device_del+0x109/0x180
  [&lt;ffffffffa01501d5&gt;] ? usb_disable_device+0x95/0x1f0 [usbcore]
  [&lt;ffffffffa014634f&gt;] ? usb_disconnect+0x8f/0x190 [usbcore]
  [&lt;ffffffffa0149179&gt;] ? hub_thread+0x539/0x13a0 [usbcore]
  [&lt;ffffffff810669f5&gt;] ? sched_clock_local+0x15/0x80
  [&lt;ffffffff81066c98&gt;] ? sched_clock_cpu+0xb8/0xd0
  [&lt;ffffffff81070730&gt;] ? bit_waitqueue+0xb0/0xb0
  [&lt;ffffffffa0148c40&gt;] ? usb_port_resume+0x430/0x430 [usbcore]
  [&lt;ffffffffa0148c40&gt;] ? usb_port_resume+0x430/0x430 [usbcore]
  [&lt;ffffffff8105973e&gt;] ? kthread+0xce/0xf0
  [&lt;ffffffff81059670&gt;] ? kthread_create_on_node+0x1c0/0x1c0
  [&lt;ffffffff814a8b7c&gt;] ? ret_from_fork+0x7c/0xb0
  [&lt;ffffffff81059670&gt;] ? kthread_create_on_node+0x1c0/0x1c0
 ---[ end trace 40b1928d1136b91e ]---

This comes from the fact that usb-audio driver may receive the
disconnect callback multiple times, per each usb interface.  When a
device has both audio and midi interfaces, it gets called twice, and
currently the driver tries to release resources at the last call.
At this point, the first parent interface has been already deleted,
thus deleting a child of the first parent hits such a warning.

For fixing this problem, we need to call snd_card_disconnect() and
cancel pending operations at the very first disconnect while the
release of the whole objects waits until the last disconnect call.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=80931
Reported-and-tested-by: Tomas Gayoso &lt;tgayoso@gmail.com&gt;
Reported-and-tested-by: Chris J Arges &lt;chris.j.arges@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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 0725dda207e95ff25f1aa01432250323e0ec49d6 upstream.

Some USB-audio devices show weird sysfs warnings at disconnecting the
devices, e.g.
 usb 1-3: USB disconnect, device number 3
 ------------[ cut here ]------------
 WARNING: CPU: 0 PID: 973 at fs/sysfs/group.c:216 device_del+0x39/0x180()
 sysfs group ffffffff8183df40 not found for kobject 'midiC1D0'
 Call Trace:
  [&lt;ffffffff814a3e38&gt;] ? dump_stack+0x49/0x71
  [&lt;ffffffff8103cb72&gt;] ? warn_slowpath_common+0x82/0xb0
  [&lt;ffffffff8103cc55&gt;] ? warn_slowpath_fmt+0x45/0x50
  [&lt;ffffffff813521e9&gt;] ? device_del+0x39/0x180
  [&lt;ffffffff81352339&gt;] ? device_unregister+0x9/0x20
  [&lt;ffffffff81352384&gt;] ? device_destroy+0x34/0x40
  [&lt;ffffffffa00ba29f&gt;] ? snd_unregister_device+0x7f/0xd0 [snd]
  [&lt;ffffffffa025124e&gt;] ? snd_rawmidi_dev_disconnect+0xce/0x100 [snd_rawmidi]
  [&lt;ffffffffa00c0192&gt;] ? snd_device_disconnect+0x62/0x90 [snd]
  [&lt;ffffffffa00c025c&gt;] ? snd_device_disconnect_all+0x3c/0x60 [snd]
  [&lt;ffffffffa00bb574&gt;] ? snd_card_disconnect+0x124/0x1a0 [snd]
  [&lt;ffffffffa02e54e8&gt;] ? usb_audio_disconnect+0x88/0x1c0 [snd_usb_audio]
  [&lt;ffffffffa015260e&gt;] ? usb_unbind_interface+0x5e/0x1b0 [usbcore]
  [&lt;ffffffff813553e9&gt;] ? __device_release_driver+0x79/0xf0
  [&lt;ffffffff81355485&gt;] ? device_release_driver+0x25/0x40
  [&lt;ffffffff81354e11&gt;] ? bus_remove_device+0xf1/0x130
  [&lt;ffffffff813522b9&gt;] ? device_del+0x109/0x180
  [&lt;ffffffffa01501d5&gt;] ? usb_disable_device+0x95/0x1f0 [usbcore]
  [&lt;ffffffffa014634f&gt;] ? usb_disconnect+0x8f/0x190 [usbcore]
  [&lt;ffffffffa0149179&gt;] ? hub_thread+0x539/0x13a0 [usbcore]
  [&lt;ffffffff810669f5&gt;] ? sched_clock_local+0x15/0x80
  [&lt;ffffffff81066c98&gt;] ? sched_clock_cpu+0xb8/0xd0
  [&lt;ffffffff81070730&gt;] ? bit_waitqueue+0xb0/0xb0
  [&lt;ffffffffa0148c40&gt;] ? usb_port_resume+0x430/0x430 [usbcore]
  [&lt;ffffffffa0148c40&gt;] ? usb_port_resume+0x430/0x430 [usbcore]
  [&lt;ffffffff8105973e&gt;] ? kthread+0xce/0xf0
  [&lt;ffffffff81059670&gt;] ? kthread_create_on_node+0x1c0/0x1c0
  [&lt;ffffffff814a8b7c&gt;] ? ret_from_fork+0x7c/0xb0
  [&lt;ffffffff81059670&gt;] ? kthread_create_on_node+0x1c0/0x1c0
 ---[ end trace 40b1928d1136b91e ]---

This comes from the fact that usb-audio driver may receive the
disconnect callback multiple times, per each usb interface.  When a
device has both audio and midi interfaces, it gets called twice, and
currently the driver tries to release resources at the last call.
At this point, the first parent interface has been already deleted,
thus deleting a child of the first parent hits such a warning.

For fixing this problem, we need to call snd_card_disconnect() and
cancel pending operations at the very first disconnect while the
release of the whole objects waits until the last disconnect call.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=80931
Reported-and-tested-by: Tomas Gayoso &lt;tgayoso@gmail.com&gt;
Reported-and-tested-by: Chris J Arges &lt;chris.j.arges@canonical.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
</feed>
