diff options
Diffstat (limited to 'kernel/trace/trace_output.c')
| -rw-r--r-- | kernel/trace/trace_output.c | 18 | 
1 files changed, 10 insertions, 8 deletions
| diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c index f572f44c6e1..ed17565826b 100644 --- a/kernel/trace/trace_output.c +++ b/kernel/trace/trace_output.c @@ -486,16 +486,18 @@ int trace_print_lat_fmt(struct trace_seq *s, struct trace_entry *entry)  				hardirq ? 'h' : softirq ? 's' : '.'))  		return 0; -	if (entry->lock_depth < 0) -		ret = trace_seq_putc(s, '.'); +	if (entry->preempt_count) +		ret = trace_seq_printf(s, "%x", entry->preempt_count);  	else -		ret = trace_seq_printf(s, "%d", entry->lock_depth); +		ret = trace_seq_putc(s, '.'); +  	if (!ret)  		return 0; -	if (entry->preempt_count) -		return trace_seq_printf(s, "%x", entry->preempt_count); -	return trace_seq_putc(s, '.'); +	if (entry->lock_depth < 0) +		return trace_seq_putc(s, '.'); + +	return trace_seq_printf(s, "%d", entry->lock_depth);  }  static int @@ -883,7 +885,7 @@ static int trace_ctxwake_raw(struct trace_iterator *iter, char S)  	trace_assign_type(field, iter->ent);  	if (!S) -		task_state_char(field->prev_state); +		S = task_state_char(field->prev_state);  	T = task_state_char(field->next_state);  	if (!trace_seq_printf(&iter->seq, "%d %d %c %d %d %d %c\n",  			      field->prev_pid, @@ -918,7 +920,7 @@ static int trace_ctxwake_hex(struct trace_iterator *iter, char S)  	trace_assign_type(field, iter->ent);  	if (!S) -		task_state_char(field->prev_state); +		S = task_state_char(field->prev_state);  	T = task_state_char(field->next_state);  	SEQ_PUT_HEX_FIELD_RET(s, field->prev_pid); | 
