diff options
Diffstat (limited to 'drivers/oprofile/cpu_buffer.c')
| -rw-r--r-- | drivers/oprofile/cpu_buffer.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/oprofile/cpu_buffer.c b/drivers/oprofile/cpu_buffer.c index 2e03b6d796d3..e76d715e4342 100644 --- a/drivers/oprofile/cpu_buffer.c +++ b/drivers/oprofile/cpu_buffer.c | |||
| @@ -393,16 +393,21 @@ oprofile_write_reserve(struct op_entry *entry, struct pt_regs * const regs, | |||
| 393 | return; | 393 | return; |
| 394 | 394 | ||
| 395 | fail: | 395 | fail: |
| 396 | entry->event = NULL; | ||
| 396 | cpu_buf->sample_lost_overflow++; | 397 | cpu_buf->sample_lost_overflow++; |
| 397 | } | 398 | } |
| 398 | 399 | ||
| 399 | int oprofile_add_data(struct op_entry *entry, unsigned long val) | 400 | int oprofile_add_data(struct op_entry *entry, unsigned long val) |
| 400 | { | 401 | { |
| 402 | if (!entry->event) | ||
| 403 | return 0; | ||
| 401 | return op_cpu_buffer_add_data(entry, val); | 404 | return op_cpu_buffer_add_data(entry, val); |
| 402 | } | 405 | } |
| 403 | 406 | ||
| 404 | int oprofile_write_commit(struct op_entry *entry) | 407 | int oprofile_write_commit(struct op_entry *entry) |
| 405 | { | 408 | { |
| 409 | if (!entry->event) | ||
| 410 | return -EINVAL; | ||
| 406 | return op_cpu_buffer_write_commit(entry); | 411 | return op_cpu_buffer_write_commit(entry); |
| 407 | } | 412 | } |
| 408 | 413 | ||
