![](https://seccdn.libravatar.org/avatar/ed90d0132a4f59f2d3a1cf82a1b70915.jpg?s=120&d=mm&r=g)
Hi Takashi, first: I have seen this only once, so not seeing it with a patched kernel does not necessarily mean it is fixed :-( Am 07.01.2015 um 15:15 schrieb Takashi Iwai:
At Wed, 07 Jan 2015 14:59:14 +0100, Oliver Neukum wrote:
Takashi,
looking at this:
/* * Prepare for suspend. Typically called from the USB suspend callback. */ void snd_usbmidi_suspend(struct list_head *p) { struct snd_usb_midi *umidi;
umidi = list_entry(p, struct snd_usb_midi, list); mutex_lock(&umidi->mutex); snd_usbmidi_input_stop(p); mutex_unlock(&umidi->mutex); } EXPORT_SYMBOL(snd_usbmidi_suspend);
It seems to me that the error_timer needs to be deleted on suspend() just as on disconnect() What do you think?
Yes, a good catch. Seife's explained that it's likely related with suspend, so this can be the cause. Worth to try.
Takashi
--- diff --git a/sound/usb/midi.c b/sound/usb/midi.c index 5bfb695547f8..54ffa4cc8142 100644 --- a/sound/usb/midi.c +++ b/sound/usb/midi.c @@ -2253,6 +2253,7 @@ void snd_usbmidi_suspend(struct list_head *p) umidi = list_entry(p, struct snd_usb_midi, list); mutex_lock(&umidi->mutex); snd_usbmidi_input_stop(p); + del_timer_sync(&umidi->error_timer); mutex_unlock(&umidi->mutex); } EXPORT_SYMBOL(snd_usbmidi_suspend);
I tried both patches, and the error did not pop up, but as explained above, it hit only once before, so it probably is a not easily hit race condition. But the one case where it happened, it was directly after resume: 2014-12-22T13:12:16.880531+01:00 wendy kernel: [30485.859188] PM: resume of devices complete after 1811.973 msecs 2014-12-22T13:12:16.880542+01:00 wendy kernel: [30485.859532] PM: Finishing wakeup. 2014-12-22T13:12:16.882258+01:00 wendy kernel: [30485.859537] Restarting tasks ... done. 2014-12-22T16:35:21.282216+01:00 wendy kernel: [42670.273069] usb 4-2: new full-speed USB device number 3 using uhci_hcd [...] [... USB devices being re-detected ... ] but the bug only hit at a later time: 2014-12-22T17:16:08.343405+01:00 wendy kernel: [45117.334782] URB e7bc54c0 submitted while active So 33 minutes after resume. Thanks, seife -- Stefan Seyfried "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." -- Richard Feynman -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org