--- /dev/null
+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";
--- /dev/null
+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) {
--- /dev/null
+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;
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