]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 24 Jan 2013 18:30:39 +0000 (10:30 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 24 Jan 2013 18:30:39 +0000 (10:30 -0800)
added patches:
ahci-add-identifiers-for-asm106x-devices.patch
alsa-usb-audio-fix-regression-by-disconnection-race-fix-patch.patch

queue-3.4/ahci-add-identifiers-for-asm106x-devices.patch [new file with mode: 0644]
queue-3.4/alsa-usb-audio-fix-regression-by-disconnection-race-fix-patch.patch [new file with mode: 0644]
queue-3.4/series

diff --git a/queue-3.4/ahci-add-identifiers-for-asm106x-devices.patch b/queue-3.4/ahci-add-identifiers-for-asm106x-devices.patch
new file mode 100644 (file)
index 0000000..1c26d04
--- /dev/null
@@ -0,0 +1,37 @@
+From 7b4f6ecacb14f384adc1a5a67ad95eb082c02bd1 Mon Sep 17 00:00:00 2001
+From: Alan Cox <alan@linux.intel.com>
+Date: Tue, 4 Sep 2012 16:25:25 +0100
+Subject: ahci: Add identifiers for ASM106x devices
+
+From: Alan Cox <alan@linux.intel.com>
+
+commit 7b4f6ecacb14f384adc1a5a67ad95eb082c02bd1 upstream.
+
+They don't always appear as AHCI class devices but instead as IDE class.
+
+Based on an initial patch by Hiroaki Nito
+
+Resolves-bug: https://bugzilla.kernel.org/show_bug.cgi?id=42804
+Signed-off-by: Alan Cox <alan@linux.intel.com>
+Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
+Signed-off-by: Abdallah Chatila <abdallah.chatila@ericsson.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/ata/ahci.c |    5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- a/drivers/ata/ahci.c
++++ b/drivers/ata/ahci.c
+@@ -406,7 +406,10 @@ static const struct pci_device_id ahci_p
+       { PCI_VDEVICE(PROMISE, 0x3f20), board_ahci },   /* PDC42819 */
+       /* Asmedia */
+-      { PCI_VDEVICE(ASMEDIA, 0x0612), board_ahci },   /* ASM1061 */
++      { PCI_VDEVICE(ASMEDIA, 0x0601), board_ahci },   /* ASM1060 */
++      { PCI_VDEVICE(ASMEDIA, 0x0602), board_ahci },   /* ASM1060 */
++      { PCI_VDEVICE(ASMEDIA, 0x0611), board_ahci },   /* ASM1061 */
++      { PCI_VDEVICE(ASMEDIA, 0x0612), board_ahci },   /* ASM1062 */
+       /* Enmotus */
+       { PCI_DEVICE(0x1c44, 0x8000), board_ahci },
diff --git a/queue-3.4/alsa-usb-audio-fix-regression-by-disconnection-race-fix-patch.patch b/queue-3.4/alsa-usb-audio-fix-regression-by-disconnection-race-fix-patch.patch
new file mode 100644 (file)
index 0000000..03563b2
--- /dev/null
@@ -0,0 +1,47 @@
+From tiwai@suse.de  Thu Jan 24 10:19:23 2013
+From: Takashi Iwai <tiwai@suse.de>
+Date: Tue, 22 Jan 2013 17:43:40 +0100
+Subject: ALSA: usb-audio: Fix regression by disconnection-race-fix patch
+To: stable@vger.kernel.org
+Cc: Ben Hutchings <ben@decadent.org.uk>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Herton Ronaldo Krzesinski <herton.krzesinski@canonical.com>, Chris J Arges <christopherarges@gmail.com>
+Message-ID: <s5hzk01f9s3.wl%tiwai@suse.de>
+
+From: Takashi Iwai <tiwai@suse.de>
+
+[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 <christopherarges@gmail.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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]);
index 6178da6688473d38f5d8559da9e8b70b2b8e608a..17b505aacf6a44ec2fe82865273b200ad4ed306a 100644 (file)
@@ -15,3 +15,5 @@ usb-musb-cppi_dma-drop-__init-annotation.patch
 scsi-sd-reshuffle-init_sd-to-avoid-crash.patch
 drivers-firmware-dmi_scan.c-check-dmi-version-when-get.patch
 drivers-firmware-dmi_scan.c-fetch-dmi-version-from-smbios-if-it-exists.patch
+ahci-add-identifiers-for-asm106x-devices.patch
+alsa-usb-audio-fix-regression-by-disconnection-race-fix-patch.patch