cond
When CONFIG_SND_DEBUG is set, this macro evaluates the given condition, and call WARN and returns the value if it's non-zero.
When CONFIG_SND_DEBUG is not set, this just returns zero, and the given condition is ignored.
the argument won't be evaluated at all when CONFIG_SND_DEBUG=n. Thus, don't put any statement that influences on the code behavior, such as pre/post increment, to the argument of this macro. If you want to evaluate and give a warning, use standard WARN_ON.