For reporting things that may or may not be serious, depending on some
 condition, netif_cond_dbg will check the condition and print the report
 at either dbg (if the condition is true) or the specified level.

Suggested-by: Jon Cooper <jcoo...@solarflare.com>
Signed-off-by: Edward Cree <ec...@solarflare.com>
---
 include/linux/netdevice.h | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 3868c32..b83884c 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -4346,6 +4346,15 @@ do {                                                     
        \
 })
 #endif
 
+/* if @cond then downgrade to debug, else print at @level */
+#define netif_cond_dbg(priv, type, netdev, cond, level, fmt, args...)     \
+       do {                                                              \
+               if (cond)                                                 \
+                       netif_dbg(priv, type, netdev, fmt, ##args);       \
+               else                                                      \
+                       netif_ ## level(priv, type, netdev, fmt, ##args); \
+       } while (0)
+
 #if defined(VERBOSE_DEBUG)
 #define netif_vdbg     netif_dbg
 #else

Reply via email to