--- /dev/null
+From e65f131a14726e5f1b880a528271a52428e5b3a5 Mon Sep 17 00:00:00 2001
+From: Aaro Koskinen <aaro.koskinen@iki.fi>
+Date: Wed, 8 May 2013 16:48:00 -0700
+Subject: ARM: OMAP: RX-51: change probe order of touchscreen and panel SPI devices
+
+From: Aaro Koskinen <aaro.koskinen@iki.fi>
+
+commit e65f131a14726e5f1b880a528271a52428e5b3a5 upstream.
+
+Commit 9fdca9df (spi: omap2-mcspi: convert to module_platform_driver)
+broke the SPI display/panel driver probe on RX-51/N900. The exact cause is
+not fully understood, but it seems to be related to the probe order. SPI
+communication to the panel driver (spi1.2) fails unless the touchscreen
+(spi1.0) has been probed/initialized before. When the omap2-mcspi driver
+was converted to a platform driver, it resulted in that the devices are
+probed immediately after the board registers them in the order they are
+listed in the board file.
+
+Fix the issue by moving the touchscreen before the panel in the SPI
+device list.
+
+The patch fixes the following failure:
+
+[ 1.260955] acx565akm spi1.2: invalid display ID
+[ 1.265899] panel-acx565akm display0: acx_panel_probe panel detect error
+[ 1.273071] omapdss CORE error: driver probe failed: -19
+
+Tested-by: Sebastian Reichel <sre@debian.org>
+Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
+Cc: Pali Rohár <pali.rohar@gmail.com>
+Cc: Joni Lapilainen <joni.lapilainen@gmail.com>
+Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
+Cc: Felipe Balbi <balbi@ti.com>
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/mach-omap2/board-rx51-peripherals.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/arch/arm/mach-omap2/board-rx51-peripherals.c
++++ b/arch/arm/mach-omap2/board-rx51-peripherals.c
+@@ -63,11 +63,11 @@
+ #define RX51_TSC2005_RESET_GPIO 104
+ #define RX51_TSC2005_IRQ_GPIO 100
+
+-/* list all spi devices here */
++/* List all SPI devices here. Note that the list/probe order seems to matter! */
+ enum {
+ RX51_SPI_WL1251,
+- RX51_SPI_MIPID, /* LCD panel */
+ RX51_SPI_TSC2005, /* Touch Controller */
++ RX51_SPI_MIPID, /* LCD panel */
+ };
+
+ static struct wl12xx_platform_data wl1251_pdata;
--- /dev/null
+From 8d76c49e9ffeee839bc0b7a3278a23f99101263e Mon Sep 17 00:00:00 2001
+From: Gleb Natapov <gleb@redhat.com>
+Date: Wed, 8 May 2013 18:38:44 +0300
+Subject: KVM: VMX: fix halt emulation while emulating invalid guest sate
+
+From: Gleb Natapov <gleb@redhat.com>
+
+commit 8d76c49e9ffeee839bc0b7a3278a23f99101263e upstream.
+
+The invalid guest state emulation loop does not check halt_request
+which causes 100% cpu loop while guest is in halt and in invalid
+state, but more serious issue is that this leaves halt_request set, so
+random instruction emulated by vm86 #GP exit can be interpreted
+as halt which causes guest hang. Fix both problems by handling
+halt_request in emulation loop.
+
+Reported-by: Tomas Papan <tomas.papan@gmail.com>
+Tested-by: Tomas Papan <tomas.papan@gmail.com>
+Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
+Signed-off-by: Gleb Natapov <gleb@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/x86/kvm/vmx.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+--- a/arch/x86/kvm/vmx.c
++++ b/arch/x86/kvm/vmx.c
+@@ -4889,6 +4889,12 @@ static int handle_invalid_guest_state(st
+ if (err != EMULATE_DONE)
+ return 0;
+
++ if (vcpu->arch.halt_request) {
++ vcpu->arch.halt_request = 0;
++ ret = kvm_emulate_halt(vcpu);
++ goto out;
++ }
++
+ if (signal_pending(current))
+ goto out;
+ if (need_resched())