]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 May 2012 04:28:58 +0000 (13:28 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 May 2012 04:28:58 +0000 (13:28 +0900)
added patches:
b43legacy-fix-error-due-to-mmio-access-with-ssb-unpowered.patch
drm-i915-avoid-a-double-read-of-pch_iir-during-interrupt-handling.patch
gma500-fix-poulsbo-suspend-resume-crash-on-devices-with-sdvo-ports.patch

queue-3.4/b43legacy-fix-error-due-to-mmio-access-with-ssb-unpowered.patch [new file with mode: 0644]
queue-3.4/drm-i915-avoid-a-double-read-of-pch_iir-during-interrupt-handling.patch [new file with mode: 0644]
queue-3.4/gma500-fix-poulsbo-suspend-resume-crash-on-devices-with-sdvo-ports.patch [new file with mode: 0644]
queue-3.4/series

diff --git a/queue-3.4/b43legacy-fix-error-due-to-mmio-access-with-ssb-unpowered.patch b/queue-3.4/b43legacy-fix-error-due-to-mmio-access-with-ssb-unpowered.patch
new file mode 100644 (file)
index 0000000..b4112a0
--- /dev/null
@@ -0,0 +1,32 @@
+From 8f4b20388fa77226a3605627a33a23f90d559e50 Mon Sep 17 00:00:00 2001
+From: Larry Finger <Larry.Finger@lwfinger.net>
+Date: Sun, 6 May 2012 16:01:05 -0500
+Subject: b43legacy: Fix error due to MMIO access with SSB unpowered
+
+From: Larry Finger <Larry.Finger@lwfinger.net>
+
+commit 8f4b20388fa77226a3605627a33a23f90d559e50 upstream.
+
+There is a dummy read of a PCI MMIO register that occurs before the SSB bus
+has been powered, which is an error. This bug has not been seen earlier,
+but was apparently exposed when udev was updated to version 182.
+
+Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
+Signed-off-by: John W. Linville <linville@tuxdriver.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/wireless/b43legacy/main.c |    2 --
+ 1 file changed, 2 deletions(-)
+
+--- a/drivers/net/wireless/b43legacy/main.c
++++ b/drivers/net/wireless/b43legacy/main.c
+@@ -1571,8 +1571,6 @@ static void b43legacy_request_firmware(s
+       const char *filename;
+       int err;
+-      /* do dummy read */
+-      ssb_read32(dev->dev, SSB_TMSHIGH);
+       if (!fw->ucode) {
+               if (rev == 2)
+                       filename = "ucode2";
diff --git a/queue-3.4/drm-i915-avoid-a-double-read-of-pch_iir-during-interrupt-handling.patch b/queue-3.4/drm-i915-avoid-a-double-read-of-pch_iir-during-interrupt-handling.patch
new file mode 100644 (file)
index 0000000..2347280
--- /dev/null
@@ -0,0 +1,60 @@
+From 9adab8b5a7fde248504f484e197589f3e3c922e2 Mon Sep 17 00:00:00 2001
+From: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed, 9 May 2012 21:45:43 +0100
+Subject: drm/i915: Avoid a double-read of PCH_IIR during interrupt handling
+
+From: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 9adab8b5a7fde248504f484e197589f3e3c922e2 upstream.
+
+Currently the code re-reads PCH_IIR during the hotplug interrupt
+processing. Not only is this a wasted read, but introduces a potential
+for handling a spurious interrupt as we then may not clear all the
+interrupts processed (since the re-read IIR may contains more interrupts
+asserted than we clear using the result of the original read).
+
+Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
+Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/i915_irq.c |    9 +++------
+ 1 file changed, 3 insertions(+), 6 deletions(-)
+
+--- a/drivers/gpu/drm/i915/i915_irq.c
++++ b/drivers/gpu/drm/i915/i915_irq.c
+@@ -424,14 +424,11 @@ static void gen6_pm_rps_work(struct work
+       mutex_unlock(&dev_priv->dev->struct_mutex);
+ }
+-static void pch_irq_handler(struct drm_device *dev)
++static void pch_irq_handler(struct drm_device *dev, u32 pch_iir)
+ {
+       drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
+-      u32 pch_iir;
+       int pipe;
+-      pch_iir = I915_READ(SDEIIR);
+-
+       if (pch_iir & SDE_AUDIO_POWER_MASK)
+               DRM_DEBUG_DRIVER("PCH audio power change on port %d\n",
+                                (pch_iir & SDE_AUDIO_POWER_MASK) >>
+@@ -529,7 +526,7 @@ static irqreturn_t ivybridge_irq_handler
+       if (de_iir & DE_PCH_EVENT_IVB) {
+               if (pch_iir & SDE_HOTPLUG_MASK_CPT)
+                       queue_work(dev_priv->wq, &dev_priv->hotplug_work);
+-              pch_irq_handler(dev);
++              pch_irq_handler(dev, pch_iir);
+       }
+       if (pm_iir & GEN6_PM_DEFERRED_EVENTS) {
+@@ -629,7 +626,7 @@ static irqreturn_t ironlake_irq_handler(
+       if (de_iir & DE_PCH_EVENT) {
+               if (pch_iir & hotplug_mask)
+                       queue_work(dev_priv->wq, &dev_priv->hotplug_work);
+-              pch_irq_handler(dev);
++              pch_irq_handler(dev, pch_iir);
+       }
+       if (de_iir & DE_PCU_EVENT) {
diff --git a/queue-3.4/gma500-fix-poulsbo-suspend-resume-crash-on-devices-with-sdvo-ports.patch b/queue-3.4/gma500-fix-poulsbo-suspend-resume-crash-on-devices-with-sdvo-ports.patch
new file mode 100644 (file)
index 0000000..f4c6798
--- /dev/null
@@ -0,0 +1,43 @@
+From 7beff62ee39d3ccf088bb77f61a63037f714d235 Mon Sep 17 00:00:00 2001
+From: Alan Cox <alan@linux.intel.com>
+Date: Mon, 21 May 2012 15:27:44 +0100
+Subject: gma500: Fix Poulsbo suspend/resume crash on devices with SDVO ports
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Alan Cox <alan@linux.intel.com>
+
+commit 7beff62ee39d3ccf088bb77f61a63037f714d235 upstream.
+
+Reported-by: Guillaume ClĂ©ment <guillaume@baobob.org>
+Signed-off-by: Alan Cox <alan@linux.intel.com>
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/gma500/psb_device.c |    6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/drivers/gpu/drm/gma500/psb_device.c
++++ b/drivers/gpu/drm/gma500/psb_device.c
+@@ -197,7 +197,8 @@ static int psb_save_display_registers(st
+       }
+       list_for_each_entry(connector, &dev->mode_config.connector_list, head)
+-              connector->funcs->save(connector);
++              if (connector->funcs->save)
++                      connector->funcs->save(connector);
+       mutex_unlock(&dev->mode_config.mutex);
+       return 0;
+@@ -235,7 +236,8 @@ static int psb_restore_display_registers
+                       crtc->funcs->restore(crtc);
+       list_for_each_entry(connector, &dev->mode_config.connector_list, head)
+-              connector->funcs->restore(connector);
++              if (connector->funcs->restore)
++                      connector->funcs->restore(connector);
+       mutex_unlock(&dev->mode_config.mutex);
+       return 0;
index 2a3bbf1eca954c3385a41319668c6d638c17a314..5db82febc88ed724af32d2ba84dc23c1cde022aa 100644 (file)
@@ -61,3 +61,6 @@ xhci-reset-reserved-command-ring-trbs-on-cleanup.patch
 xhci-add-new-short-tx-quirk-for-fresco-logic-host.patch
 usb-fix-resource-leak-in-xhci-power-loss-path.patch
 usbcore-enable-usb2-lpm-if-port-suspend-fails.patch
+gma500-fix-poulsbo-suspend-resume-crash-on-devices-with-sdvo-ports.patch
+b43legacy-fix-error-due-to-mmio-access-with-ssb-unpowered.patch
+drm-i915-avoid-a-double-read-of-pch_iir-during-interrupt-handling.patch