Blackfin: handle HW errors in the new "FAULT" printing code
authorRobin Getz <robin.getz@analog.com>
Mon, 29 Mar 2010 14:07:33 +0000 (14:07 +0000)
committerMike Frysinger <vapier@gentoo.org>
Sat, 22 May 2010 18:19:07 +0000 (14:19 -0400)
Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
arch/blackfin/kernel/trace.c

index 317d4273ca607c5b6d02f1c0ec6f97ea7a1e325b..59fcdf6b0138532604be9d8de4d1c93260029349 100644 (file)
@@ -672,6 +672,15 @@ void dump_bfin_trace_buffer(void)
                         * the trace buffer, (since it doesn't commit), so
                         * we print out the fault address here
                         */
+                       if (!fault && addr == ((unsigned short *)evt_ivhw)) {
+                               addr = (unsigned short *)bfin_read_TBUF();
+                               decode_address(buf, (unsigned long)addr);
+                               pr_notice("      FAULT : %s ", buf);
+                               decode_instruction(addr);
+                               pr_cont("\n");
+                               fault = 1;
+                               continue;
+                       }
                        if (!fault && addr == (unsigned short *)trap &&
                                (cpu_pda[cpu].seqstat & SEQSTAT_EXCAUSE) > VEC_EXCPT15) {
                                decode_address(buf, cpu_pda[cpu].icplb_fault_addr);