fix a bug in ratelimit, if the "begin" doesn't update at the same time with 
printed
the print will start from 1 in loops except for the first time,
lets to only 9 logs suppressed, but not 10 as expected.

Signed-off-by : Ameen Ali <[email protected]>
---
 lib/ratelimit.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/lib/ratelimit.c b/lib/ratelimit.c
index 40e03ea..7118ea7 100644
--- a/lib/ratelimit.c
+++ b/lib/ratelimit.c
@@ -42,14 +42,12 @@ int ___ratelimit(struct ratelimit_state *rs, const char 
*func)
        if (!raw_spin_trylock_irqsave(&rs->lock, flags))
                return 0;
 
-       if (!rs->begin)
-               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);
-               rs->begin   = 0;
+               rs->begin   = jiffies;
                rs->printed = 0;
                rs->missed  = 0;
        }
-- 
2.5.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to