X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=lib%2Fratelimit.c;h=08f8043cac619d4dc59efda9aa2830514ba1c199;hb=0043ee40f98d15a50721fbd5dbf7c7797f8d03cd;hp=2c5de86460c5bb82f3d1c83b136b2f985484298a;hpb=34d47a77591f2fe7988beeca86d8ee281aee827f;p=linux-2.6-block.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++;