diff options
Diffstat (limited to 'arch/ia64/kernel/mca.c')
| -rw-r--r-- | arch/ia64/kernel/mca.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c index 4ebbf3974381..8d484204a3ff 100644 --- a/arch/ia64/kernel/mca.c +++ b/arch/ia64/kernel/mca.c | |||
| @@ -491,12 +491,7 @@ init_handler_platform (pal_min_state_area_t *ms, | |||
| 491 | unw_init_from_interruption(&info, current, pt, sw); | 491 | unw_init_from_interruption(&info, current, pt, sw); |
| 492 | ia64_do_show_stack(&info, NULL); | 492 | ia64_do_show_stack(&info, NULL); |
| 493 | 493 | ||
| 494 | #ifdef CONFIG_SMP | 494 | if (read_trylock(&tasklist_lock)) { |
| 495 | /* read_trylock() would be handy... */ | ||
| 496 | if (!tasklist_lock.write_lock) | ||
| 497 | read_lock(&tasklist_lock); | ||
| 498 | #endif | ||
| 499 | { | ||
| 500 | struct task_struct *g, *t; | 495 | struct task_struct *g, *t; |
| 501 | do_each_thread (g, t) { | 496 | do_each_thread (g, t) { |
| 502 | if (t == current) | 497 | if (t == current) |
| @@ -506,10 +501,6 @@ init_handler_platform (pal_min_state_area_t *ms, | |||
| 506 | show_stack(t, NULL); | 501 | show_stack(t, NULL); |
| 507 | } while_each_thread (g, t); | 502 | } while_each_thread (g, t); |
| 508 | } | 503 | } |
| 509 | #ifdef CONFIG_SMP | ||
| 510 | if (!tasklist_lock.write_lock) | ||
| 511 | read_unlock(&tasklist_lock); | ||
| 512 | #endif | ||
| 513 | 504 | ||
| 514 | printk("\nINIT dump complete. Please reboot now.\n"); | 505 | printk("\nINIT dump complete. Please reboot now.\n"); |
| 515 | while (1); /* hang city if no debugger */ | 506 | while (1); /* hang city if no debugger */ |
