powerpc/eeh: Fix build with STACKTRACE=n
authorMichael Ellerman <mpe@ellerman.id.au>
Fri, 13 Sep 2019 13:32:13 +0000 (23:32 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 13 Sep 2019 14:01:14 +0000 (00:01 +1000)
The build breaks when STACKTRACE=n, eg. skiroot_defconfig:

  arch/powerpc/kernel/eeh_event.c:124:23: error: implicit declaration of function 'stack_trace_save'

Fix it with some ifdefs for now.

Fixes: 25baf3d81614 ("powerpc/eeh: Defer printing stack trace")
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/eeh.h
arch/powerpc/kernel/eeh_driver.c
arch/powerpc/kernel/eeh_event.c

index 9d0e169..6f9b2a1 100644 (file)
@@ -89,6 +89,7 @@ struct eeh_pe {
        struct list_head child;         /* Memb. child_list/eeh_phb_pe  */
        struct list_head edevs;         /* List of eeh_dev in this PE   */
 
+#ifdef CONFIG_STACKTRACE
        /*
         * Saved stack trace. When we find a PE freeze in eeh_dev_check_failure
         * the stack trace is saved here so we can print it in the recovery
@@ -99,6 +100,7 @@ struct eeh_pe {
         */
        unsigned long stack_trace[64];
        int trace_entries;
+#endif /* CONFIG_STACKTRACE */
 };
 
 #define eeh_pe_for_each_dev(pe, edev, tmp) \
index 80bd157..d9279d0 100644 (file)
@@ -908,6 +908,7 @@ void eeh_handle_normal_event(struct eeh_pe *pe)
                       eeh_pe_loc_get(pe), eeh_pe_loc_get(phb_pe));
        }
 
+#ifdef CONFIG_STACKTRACE
        /*
         * Print the saved stack trace now that we've verified there's
         * something to recover.
@@ -926,7 +927,7 @@ void eeh_handle_normal_event(struct eeh_pe *pe)
 
                pe->trace_entries = 0;
        }
-
+#endif /* CONFIG_STACKTRACE */
 
        eeh_pe_update_time_stamp(pe);
        pe->freeze_count++;
index 1d55486..a7a8dc1 100644 (file)
@@ -117,12 +117,14 @@ int __eeh_send_failure_event(struct eeh_pe *pe)
         * while the PE is sitting in the event queue.
         */
        if (pe) {
+#ifdef CONFIG_STACKTRACE
                /*
                 * Save the current stack trace so we can dump it from the
                 * event handler thread.
                 */
                pe->trace_entries = stack_trace_save(pe->stack_trace,
                                         ARRAY_SIZE(pe->stack_trace), 0);
+#endif /* CONFIG_STACKTRACE */
 
                eeh_pe_state_mark(pe, EEH_PE_RECOVERING);
        }