-static void arch_dump_stack(void *info)
-{
- struct pt_regs *regs;
-+static DEFINE_PER_CPU(call_single_data_t, backtrace_csd);
++static DEFINE_PER_CPU(call_single_data, backtrace_csd);
+static struct cpumask backtrace_csd_busy;
- regs = get_irq_regs();
+static void raise_backtrace(cpumask_t *mask)
{
- long this_cpu = get_cpu();
-+ call_single_data_t *csd;
++ call_single_data *csd;
+ int cpu;
- if (cpumask_test_cpu(this_cpu, mask) && !exclude_self)
+ * If we previously sent an IPI to the target CPU & it hasn't
+ * cleared its bit in the busy cpumask then it didn't handle
+ * our previous IPI & it's not safe for us to reuse the
-+ * call_single_data_t.
++ * call_single_data.
+ */
+ if (cpumask_test_and_set_cpu(cpu, &backtrace_csd_busy)) {
+ pr_warn("Unable to send backtrace IPI to CPU%u - perhaps it hung?\n",