X-Git-Url: http://git.cascardo.info/?a=blobdiff_plain;f=lib%2Fratelimit.c;h=08f8043cac619d4dc59efda9aa2830514ba1c199;hb=3a8db79889ce16930aff19b818f5b09651bb7644;hp=2c5de86460c5bb82f3d1c83b136b2f985484298a;hpb=3b3b3bd97788e1f574c71f865d8465b00a6b8708;p=cascardo%2Flinux.git diff --git a/lib/ratelimit.c b/lib/ratelimit.c index 2c5de86460c5..08f8043cac61 100644 --- a/lib/ratelimit.c +++ b/lib/ratelimit.c @@ -46,12 +46,14 @@ int ___ratelimit(struct ratelimit_state *rs, const char *func) rs->begin = jiffies; if (time_is_before_jiffies(rs->begin + rs->interval)) { - if (rs->missed) - printk(KERN_WARNING "%s: %d callbacks suppressed\n", - func, rs->missed); + if (rs->missed) { + if (!(rs->flags & RATELIMIT_MSG_ON_RELEASE)) { + pr_warn("%s: %d callbacks suppressed\n", func, rs->missed); + rs->missed = 0; + } + } rs->begin = jiffies; rs->printed = 0; - rs->missed = 0; } if (rs->burst && rs->burst > rs->printed) { rs->printed++;