| .. | .. |
|---|
| 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)) |
|---|