This is a note to let you know that I've just added the patch titled
ALSA: usb-audio: Fix regression by disconnection-race-fix patch
to the 3.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
alsa-usb-audio-fix-regression-by-disconnection-race-fix-patch.patch
and it can be found in the queue-3.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.
>From [email protected] Thu Jan 24 10:19:23 2013
From: Takashi Iwai <[email protected]>
Date: Tue, 22 Jan 2013 17:43:40 +0100
Subject: ALSA: usb-audio: Fix regression by disconnection-race-fix patch
To: [email protected]
Cc: Ben Hutchings <[email protected]>, Greg Kroah-Hartman
<[email protected]>, Herton Ronaldo Krzesinski
<[email protected]>, Chris J Arges <[email protected]>
Message-ID: <s5hzk01f9s3.wl%[email protected]>
From: Takashi Iwai <[email protected]>
[NOTE: the regression below is found only in 3.2-3.4 stable trees, so
there is no upstream commit corresponding to this patch]
The recent fix for the race at disconnection of usb-audio devices
(upstream commit 978520b7) triggers Oops when a device is unplugged
while playing on 3.2 and 3.4 kernels. The culprit is that the
shutdown flag check was wrongly added around the urb deactivation code
snippet. The urb deactivation code has to be performed even after the
device disconnected. Otherwise it remains undead and pokes the wild
access in the end.
The regression fix is simply reverting the shutdown flag check in that
code.
Reported-and-tested-by: Chris J Arges <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
sound/usb/endpoint.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
--- a/sound/usb/endpoint.c
+++ b/sound/usb/endpoint.c
@@ -148,10 +148,8 @@ void snd_usb_release_substream_urbs(stru
int i;
/* stop urbs (to be sure) */
- if (!subs->stream->chip->shutdown) {
- deactivate_urbs(subs, force, 1);
- wait_clear_urbs(subs);
- }
+ deactivate_urbs(subs, force, 1);
+ wait_clear_urbs(subs);
for (i = 0; i < MAX_URBS; i++)
release_urb_ctx(&subs->dataurb[i]);
Patches currently in stable-queue which might be from [email protected] are
queue-3.4/alsa-usb-audio-fix-regression-by-disconnection-race-fix-patch.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html