diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2011-07-17 21:41:35 +0200 |
---|---|---|
committer | Steven Rostedt <rostedt@rostedt.homelinux.com> | 2012-10-26 14:42:21 -0400 |
commit | 0d7be1aca080a5084eee2860af60ac7f6b4b1978 (patch) | |
tree | 8d55f2f3d94aba51b679463cc237fcdd5e63ebfd /lib | |
parent | 1b14085a6bf71d65de3dbbc4cf35ec00f06daeda (diff) |
debugobjects-rt.patch
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/debugobjects.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/debugobjects.c b/lib/debugobjects.c index a78b7c6e042c..9b622c994ecd 100644 --- a/lib/debugobjects.c +++ b/lib/debugobjects.c @@ -306,7 +306,10 @@ __debug_object_init(void *addr, struct debug_obj_descr *descr, int onstack) struct debug_obj *obj; unsigned long flags; - fill_pool(); +#ifdef CONFIG_PREEMPT_RT_FULL + if (preempt_count() == 0 && !irqs_disabled()) +#endif + fill_pool(); db = get_bucket((unsigned long) addr); @@ -1015,9 +1018,9 @@ static int __init debug_objects_replace_static_objects(void) } } + local_irq_enable(); printk(KERN_DEBUG "ODEBUG: %d of %d active objects replaced\n", cnt, obj_pool_used); - local_irq_enable(); return 0; free: hlist_for_each_entry_safe(obj, node, tmp, &objects, node) { |