--- /dev/null
+From 29c350bf28da333e41e30497b649fe335712a2ab Mon Sep 17 00:00:00 2001
+From: Russell King <rmk+kernel@arm.linux.org.uk>
+Date: Fri, 3 Jan 2014 15:01:39 +0000
+Subject: ARM: fix "bad mode in ... handler" message for undefined instructions
+
+From: Russell King <rmk+kernel@arm.linux.org.uk>
+
+commit 29c350bf28da333e41e30497b649fe335712a2ab upstream.
+
+The array was missing the final entry for the undefined instruction
+exception handler; this commit adds it.
+
+Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/kernel/traps.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+--- a/arch/arm/kernel/traps.c
++++ b/arch/arm/kernel/traps.c
+@@ -35,7 +35,13 @@
+ #include <asm/tls.h>
+ #include <asm/system_misc.h>
+
+-static const char *handler[]= { "prefetch abort", "data abort", "address exception", "interrupt" };
++static const char *handler[]= {
++ "prefetch abort",
++ "data abort",
++ "address exception",
++ "interrupt",
++ "undefined instruction",
++};
+
+ void *vectors_page;
+
--- /dev/null
+From 4ff859fe1dc0da0f87bbdfff78f527898878fa4a Mon Sep 17 00:00:00 2001
+From: Russell King <rmk+kernel@arm.linux.org.uk>
+Date: Sun, 29 Dec 2013 12:39:50 +0000
+Subject: ARM: fix footbridge clockevent device
+
+From: Russell King <rmk+kernel@arm.linux.org.uk>
+
+commit 4ff859fe1dc0da0f87bbdfff78f527898878fa4a upstream.
+
+The clockevents code was being told that the footbridge clock event
+device ticks at 16x the rate which it actually does. This leads to
+timekeeping problems since it allows the clocksource to wrap before
+the kernel notices. Fix this by using the correct clock.
+
+Fixes: 4e8d76373c9fd ("ARM: footbridge: convert to clockevents/clocksource")
+Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/mach-footbridge/dc21285-timer.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/arch/arm/mach-footbridge/dc21285-timer.c
++++ b/arch/arm/mach-footbridge/dc21285-timer.c
+@@ -96,11 +96,12 @@ static struct irqaction footbridge_timer
+ void __init footbridge_timer_init(void)
+ {
+ struct clock_event_device *ce = &ckevt_dc21285;
++ unsigned rate = DIV_ROUND_CLOSEST(mem_fclk_21285, 16);
+
+- clocksource_register_hz(&cksrc_dc21285, (mem_fclk_21285 + 8) / 16);
++ clocksource_register_hz(&cksrc_dc21285, rate);
+
+ setup_irq(ce->irq, &footbridge_timer_irq);
+
+ ce->cpumask = cpumask_of(smp_processor_id());
+- clockevents_config_and_register(ce, mem_fclk_21285, 0x4, 0xffffff);
++ clockevents_config_and_register(ce, rate, 0x4, 0xffffff);
+ }