| Date | Tue, 30 Mar 2010 15:57:17 -0700 | From | Greg KH <> | Subject | [15/89] ALSA: usb-audio - Avoid Oops after disconnect |
| |
2.6.31-stable review patch. If anyone has any objections, please let us know.
------------------
From: Takashi Iwai <tiwai@suse.de>
commit 78b8d5d2ee280c463908fd75f3bdf246bcb6ac8d upstream.
As the release of substreams may be done asynchronously from the disconnection, close callback needs to check the shutdown flag before actually accessing the usb interface.
Reference: Novell bnc#505027 http://bugzilla.novell.com/show_bug.cgi?id=565027
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- sound/usb/usbaudio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
--- a/sound/usb/usbaudio.c +++ b/sound/usb/usbaudio.c @@ -1934,7 +1934,7 @@ static int snd_usb_pcm_close(struct snd_ struct snd_usb_stream *as = snd_pcm_substream_chip(substream); struct snd_usb_substream *subs = &as->substream[direction]; - if (subs->interface >= 0) { + if (!as->chip->shutdown && subs->interface >= 0) { usb_set_interface(subs->dev, subs->interface, 0); subs->interface = -1; }
|