net: Implement net_dbg_ratelimited() for CONFIG_DYNAMIC_DEBUG case
authorTim Bingham <tbingham@akamai.com>
Fri, 29 Apr 2016 17:30:23 +0000 (13:30 -0400)
committerDavid S. Miller <davem@davemloft.net>
Mon, 2 May 2016 01:34:01 +0000 (21:34 -0400)
commit2c94b53738549d81dc7464a32117d1f5112c64d3
treeb69ad831b2db75338433fadc9e27b4380d46b859
parentefe790502be85c60daa65c8aa51f05c333186e12
net: Implement net_dbg_ratelimited() for CONFIG_DYNAMIC_DEBUG case

Prior to commit d92cff89a0c8 ("net_dbg_ratelimited: turn into no-op
when !DEBUG") the implementation of net_dbg_ratelimited() was buggy
for both the DEBUG and CONFIG_DYNAMIC_DEBUG cases.

The bug was that net_ratelimit() was being called and, despite
returning true, nothing was being printed to the console. This
resulted in messages like the following -

"net_ratelimit: %d callbacks suppressed"

with no other output nearby.

After commit d92cff89a0c8 ("net_dbg_ratelimited: turn into no-op when
!DEBUG") the bug is fixed for the DEBUG case. However, there's no
output at all for CONFIG_DYNAMIC_DEBUG case.

This patch restores debug output (if enabled) for the
CONFIG_DYNAMIC_DEBUG case.

Add a definition of net_dbg_ratelimited() for the CONFIG_DYNAMIC_DEBUG
case. The implementation takes care to check that dynamic debugging is
enabled before calling net_ratelimit().

Fixes: d92cff89a0c8 ("net_dbg_ratelimited: turn into no-op when !DEBUG")
Signed-off-by: Tim Bingham <tbingham@akamai.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/net.h