.. | .. |
---|
192 | 192 | static int parse_entry(char *str, struct trace_event_call *call, void **pentry) |
---|
193 | 193 | { |
---|
194 | 194 | struct ftrace_event_field *field; |
---|
| 195 | + unsigned long irq_flags; |
---|
195 | 196 | void *entry = NULL; |
---|
196 | 197 | int entry_size; |
---|
197 | 198 | u64 val = 0; |
---|
.. | .. |
---|
202 | 203 | if (!entry) |
---|
203 | 204 | return -ENOMEM; |
---|
204 | 205 | |
---|
205 | | - tracing_generic_entry_update(entry, call->event.type, |
---|
206 | | - tracing_gen_ctx()); |
---|
| 206 | + local_save_flags(irq_flags); |
---|
| 207 | + tracing_generic_entry_update(entry, call->event.type, irq_flags, |
---|
| 208 | + preempt_count()); |
---|
207 | 209 | |
---|
208 | 210 | while ((len = parse_field(str, call, &field, &val)) > 0) { |
---|
209 | 211 | if (is_function_field(field)) |
---|