From 0a46735f59b9c46790e0307b14aafb1e9daeeed7 Mon Sep 17 00:00:00 2001 From: Cong Wang Date: Fri, 3 Feb 2012 15:37:15 -0800 Subject: [PATCH] --- yaml --- r: 287215 b: refs/heads/master c: 92618184cb92c5b39d4d8573572d576f9ccb3c28 h: refs/heads/master i: 287213: 1dd40c6cb474944c70cd0c78fec837087ec4442c 287211: 2a4752175244c99979a64337131d9f7d2f77b8a4 287207: 56b072e4ea12f7eec362d29094a0f63324eb4289 287199: f4a6509c4c4219575d2585d6612bf7d39b8b98c3 v: v3 --- [refs] | 2 +- trunk/drivers/misc/lkdtm.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 049fd35f6141..b4e3c02a692a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 99f02ef1f18631eb0a4e0ea0a3d56878dbcb4b90 +refs/heads/master: 92618184cb92c5b39d4d8573572d576f9ccb3c28 diff --git a/trunk/drivers/misc/lkdtm.c b/trunk/drivers/misc/lkdtm.c index 150cd7061b80..28adefe70f96 100644 --- a/trunk/drivers/misc/lkdtm.c +++ b/trunk/drivers/misc/lkdtm.c @@ -354,6 +354,7 @@ static void lkdtm_do_action(enum ctype which) static void lkdtm_handler(void) { unsigned long flags; + bool do_it = false; spin_lock_irqsave(&count_lock, flags); count--; @@ -361,10 +362,13 @@ static void lkdtm_handler(void) cp_name_to_str(cpoint), cp_type_to_str(cptype), count); if (count == 0) { - lkdtm_do_action(cptype); + do_it = true; count = cpoint_count; } spin_unlock_irqrestore(&count_lock, flags); + + if (do_it) + lkdtm_do_action(cptype); } static int lkdtm_register_cpoint(enum cname which)