fix ITER_PIPE interaction with direct_IO
[cascardo/linux.git] / lib / dynamic_debug.c
index fe42b6e..da796e2 100644 (file)
@@ -188,6 +188,13 @@ static int ddebug_change(const struct ddebug_query *query,
                        newflags = (dp->flags & mask) | flags;
                        if (newflags == dp->flags)
                                continue;
+#ifdef HAVE_JUMP_LABEL
+                       if (dp->flags & _DPRINTK_FLAGS_PRINT) {
+                               if (!(flags & _DPRINTK_FLAGS_PRINT))
+                                       static_branch_disable(&dp->key.dd_key_true);
+                       } else if (flags & _DPRINTK_FLAGS_PRINT)
+                               static_branch_enable(&dp->key.dd_key_true);
+#endif
                        dp->flags = newflags;
                        vpr_info("changed %s:%d [%s]%s =%s\n",
                                 trim_prefix(dp->filename), dp->lineno,