Add channel ID field to attr
[lttng-ust.git] / liblttng-ust / tracepoint.c
index 7de56ca0361dbbe5b55c0704cdcbe1eca44fb58a..da53d00a356850d7c7015e2cef805f57463c5e13 100644 (file)
@@ -143,8 +143,10 @@ tracepoint_entry_add_probe(struct tracepoint_entry *entry,
        int nr_probes = 0;
        struct tracepoint_probe *old, *new;
 
-       WARN_ON(!probe);
-
+       if (!probe) {
+               WARN_ON(1);
+               return ERR_PTR(-EINVAL);
+       }
        debug_print_probes(entry);
        old = entry->probes;
        if (old) {
@@ -183,11 +185,12 @@ tracepoint_entry_remove_probe(struct tracepoint_entry *entry,
 
        debug_print_probes(entry);
        /* (N -> M), (N > 1, M >= 0) probes */
-       for (nr_probes = 0; old[nr_probes].func; nr_probes++) {
-               if (!probe ||
-                    (old[nr_probes].func == probe &&
-                    old[nr_probes].data == data))
-                       nr_del++;
+       if (probe) {
+               for (nr_probes = 0; old[nr_probes].func; nr_probes++) {
+                       if (old[nr_probes].func == probe &&
+                            old[nr_probes].data == data)
+                               nr_del++;
+               }
        }
 
        if (nr_probes - nr_del == 0) {
@@ -204,8 +207,7 @@ tracepoint_entry_remove_probe(struct tracepoint_entry *entry,
                if (new == NULL)
                        return ERR_PTR(-ENOMEM);
                for (i = 0; old[i].func; i++)
-                       if (probe &&
-                           (old[i].func != probe || old[i].data != data))
+                       if (old[i].func != probe || old[i].data != data)
                                new[j++] = old[i];
                new[nr_probes - nr_del].func = NULL;
                entry->refcount = nr_probes - nr_del;
This page took 0.0252 seconds and 4 git commands to generate.