Obviously, trace_events that defined staticly in trace.h won't use
__TRACE_LAST_TYPE, so make dynamic types can use it. And some
minor changes to trace_search_list() to make code clearer.

Signed-off-by: Zhou Chengming <zhouchengmi...@huawei.com>
---
 kernel/trace/trace_output.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c
index bac629a..dcb146f 100644
--- a/kernel/trace/trace_output.c
+++ b/kernel/trace/trace_output.c
@@ -19,7 +19,7 @@
 
 static struct hlist_head event_hash[EVENT_HASHSIZE] __read_mostly;
 
-static int next_event_type = __TRACE_LAST_TYPE + 1;
+static int next_event_type = __TRACE_LAST_TYPE;
 
 enum print_line_t trace_print_bputs_msg_only(struct trace_iterator *iter)
 {
@@ -696,7 +696,7 @@ static int trace_search_list(struct list_head **list)
 
        if (list_empty(&ftrace_event_list)) {
                *list = &ftrace_event_list;
-               return last + 1;
+               return last;
        }
 
        /*
@@ -704,17 +704,17 @@ static int trace_search_list(struct list_head **list)
         * lets see if somebody freed one.
         */
        list_for_each_entry(e, &ftrace_event_list, list) {
-               if (e->type != last + 1)
+               if (e->type != last)
                        break;
                last++;
        }
 
        /* Did we used up all 65 thousand events??? */
-       if ((last + 1) > TRACE_EVENT_TYPE_MAX)
+       if (last > TRACE_EVENT_TYPE_MAX)
                return 0;
 
        *list = &e->list;
-       return last + 1;
+       return last;
 }
 
 void trace_event_read_lock(void)
@@ -777,7 +777,7 @@ int register_trace_event(struct trace_event *event)
 
                list_add_tail(&event->list, list);
 
-       } else if (event->type > __TRACE_LAST_TYPE) {
+       } else if (event->type >= __TRACE_LAST_TYPE) {
                printk(KERN_WARNING "Need to add type to trace.h\n");
                WARN_ON(1);
                goto out;
-- 
1.8.3.1

Reply via email to