@@ -220,7 +220,7 @@ int trace_graph_entry(struct ftrace_graph_ent *trace)
if (!(trace->depth || ftrace_graph_addr(trace->func)))
return 0;
- local_irq_save(flags);
+ local_irq_save_nmi(flags);
cpu = raw_smp_processor_id();
data = tr->data[cpu];
disabled = atomic_inc_return(&data->disabled);
@@ -232,7 +232,7 @@ int trace_graph_entry(struct ftrace_graph_ent *trace)
}
atomic_dec(&data->disabled);
- local_irq_restore(flags);
+ local_irq_restore_nmi(flags);
return ret;
}
@@ -277,7 +277,7 @@ void trace_graph_return(struct ftrace_graph_ret *trace)
int cpu;
int pc;
- local_irq_save(flags);
+ local_irq_save_nmi(flags);
cpu = raw_smp_processor_id();
data = tr->data[cpu];
disabled = atomic_inc_return(&data->disabled);
@@ -286,7 +286,7 @@ void trace_graph_return(struct ftrace_graph_ret *trace)
__trace_graph_return(tr, trace, flags, pc);
}
atomic_dec(&data->disabled);
- local_irq_restore(flags);
+ local_irq_restore_nmi(flags);
}
void set_graph_array(struct trace_array *tr)