ALSA: usb - Fix Oops after usb-midi disconnection
authorTakashi Iwai <tiwai@suse.de>
Sat, 10 Apr 2010 19:27:23 +0000 (21:27 +0200)
committerTakashi Iwai <tiwai@suse.de>
Sat, 10 Apr 2010 19:34:24 +0000 (21:34 +0200)
commit29aac005ff4dc8a5f50b80f4e5c4f59b21c0fb50
treeb6518159bd2f25187499f3094bf2302e381b3edd
parentb0cc58a25d04160d39a80e436847eaa2fbc5aa09
ALSA: usb - Fix Oops after usb-midi disconnection

usb-midi causes sometimes Oops at snd_usbmidi_output_drain() after
disconnection.  This is due to the access to the endpoints which have
been already released at disconnection while the files are still alive.

This patch fixes the problem by checking disconnection state at
snd_usbmidi_output_drain() and by releasing urbs but keeping the
endpoint instances until really all freed.

Tested-by: Tvrtko Ursulin <tvrtko@ursulin.net>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/usbmidi.c