cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.6.40-pandaboard-wlan-fix.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.6.40-pandaboard-dvi720p.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.6.40-pandaboard-i2c-fix.patch
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.6.40-pandaboard-reboot.patch
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.6.40-pandaboard-rtc-twl-irq.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.x-smsc95xx-add_mac_addr_param.patch
endif
--- /dev/null
+With commit 3d3f78d752bf, reboot seems to broken on ARM
+machines. CPU dies while doing flush_pmd_entry() as part of
+setup_mm_for_reboot()
+
+I know this is not the fix but intention is to report the
+issue and also provide temporary fix till it get fixed correctly
+
+Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx>
+Reported-by: Anand Gadiyar <gadiyar@xxxxxx>
+---
+Tested with OMAP4 device.
+
+ arch/arm/kernel/process.c | 1 -
+ 1 files changed, 0 insertions(+), 1 deletions(-)
+
+diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
+index e76fcaa..ac370b2 100644
+--- a/arch/arm/kernel/process.c
++++ b/arch/arm/kernel/process.c
+@@ -247,7 +247,6 @@ void machine_power_off(void)
+
+ void machine_restart(char *cmd)
+ {
+- machine_shutdown();
+ arm_pm_restart(reboot_mode, cmd);
+ }
+
+--
+1.6.0.4
--- /dev/null
+diff -Naur linux-3.0.24.org/drivers/rtc/rtc-twl.c linux-3.0.24/drivers/rtc/rtc-twl.c
+--- linux-3.0.24.org/drivers/rtc/rtc-twl.c 2012-03-12 18:58:19.000000000 +0100
++++ linux-3.0.24/drivers/rtc/rtc-twl.c 2012-03-20 23:24:52.213578926 +0100
+@@ -362,14 +362,6 @@
+ int res;
+ u8 rd_reg;
+
+-#ifdef CONFIG_LOCKDEP
+- /* WORKAROUND for lockdep forcing IRQF_DISABLED on us, which
+- * we don't want and can't tolerate. Although it might be
+- * friendlier not to borrow this thread context...
+- */
+- local_irq_enable();
+-#endif
+-
+ res = twl_rtc_read_u8(&rd_reg, REG_RTC_STATUS_REG);
+ if (res)
+ goto out;
+@@ -462,7 +454,7 @@
+ if (ret < 0)
+ goto out1;
+
+- ret = request_irq(irq, twl_rtc_interrupt,
++ ret = request_threaded_irq(irq, NULL, twl_rtc_interrupt,
+ IRQF_TRIGGER_RISING,
+ dev_name(&rtc->dev), rtc);
+ if (ret < 0) {