From: Andrew Morton kernel/softirq.c: In function `__do_softirq': kernel/softirq.c:104: warning: long int format, int arg (arg 2) There's actually an official way of printing ptrdiff_t's (%t?) but printk doesn't understand it. Cc: Ingo Molnar Signed-off-by: Andrew Morton --- kernel/softirq.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff -puN kernel/softirq.c~debug-preempt-tracing-fix-3 kernel/softirq.c --- devel/kernel/softirq.c~debug-preempt-tracing-fix-3 2005-08-06 15:51:28.000000000 -0700 +++ devel-akpm/kernel/softirq.c 2005-08-06 15:52:35.000000000 -0700 @@ -99,9 +99,10 @@ restart: #ifdef CONFIG_DEBUG_PREEMPT out_count = preempt_count(); if (in_count != out_count) { - printk(KERN_ERR "BUG: softirq %ld preempt-count " - "imbalance: in=%08x, out=%08x!\n", - h - softirq_vec, in_count, out_count); + printk(KERN_ERR "BUG: softirq %ld preempt-count" + " imbalance: in=%08x, out=%08x!\n", + (long)(h - softirq_vec), in_count, + out_count); print_preempt_trace(current, out_count); /* * Fix up the bad preemption count: _