^^^^^^^^^^
Ick, I botched a trivial patch, it doesn't even apply. Updated one below
(with indentation fix as added bonus :-)
[PATCH -mm] softlockup-improve-debug-output.patch fix (v2)
kernel/softlockup.c: In function 'softlockup_tick':
kernel/softlockup.c:125: warning: 'regs' is used uninitialized in this function
is a genuine bug (will cause an oops in all probability,
or cause wrong info to be printed, if we're lucky). So let's fix the
softlockup-improve-debug-output.patch to actually work as intended.
Signed-off-by: Satyam Sharma <satyam@infradead.org>
---
kernel/softlockup.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- linux-2.6.23-rc4-mm1/kernel/softlockup.c~fix 2007-09-02 17:58:23.000000000 +0530
+++ linux-2.6.23-rc4-mm1/kernel/softlockup.c 2007-09-02 17:58:48.000000000 +0530
@@ -80,7 +80,7 @@ void softlockup_tick(void)
int this_cpu = smp_processor_id();
unsigned long touch_timestamp = per_cpu(touch_timestamp, this_cpu);
unsigned long print_timestamp;
- struct pt_regs *regs;
+ struct pt_regs *regs = get_irq_regs();
unsigned long now;
if (touch_timestamp == 0) {
@@ -121,7 +121,7 @@ void softlockup_tick(void)
spin_lock(&print_lock);
printk(KERN_ERR "BUG: soft lockup - CPU#%d stuck for %lus! [%s:%d]\n",
this_cpu, now - touch_timestamp,
- current->comm, task_pid_nr(current));
+ current->comm, task_pid_nr(current));
if (regs)
show_regs(regs);
else
-