BUG() triggered on SMP shutdown, cpu!=0

J.A. Magallon (jamagallon@able.es)
Wed, 18 Sep 2002 12:20:29 +0200


Hi all...

I am getting oopses on shutdown, 'cause this bug is popping:

static void apm_power_off(void)
{
unsigned char po_bios_call[] = {
0xb8, 0x00, 0x10, /* movw $0x1000,ax */
0x8e, 0xd0, /* movw ax,ss */
0xbc, 0x00, 0xf0, /* movw $0xf000,sp */
0xb8, 0x07, 0x53, /* movw $0x5307,ax */
0xbb, 0x01, 0x00, /* movw $0x0001,bx */
0xb9, 0x03, 0x00, /* movw $0x0003,cx */
0xcd, 0x15 /* int $0x15 */
};

/*
* This may be called on an SMP machine.
*/
#ifdef CONFIG_SMP
/* Some bioses don't like being called from CPU != 0 */
if (cpu_number_map(smp_processor_id()) != 0) {
current->cpus_allowed = 1;
schedule();
if (unlikely(cpu_number_map(smp_processor_id()) != 0))
BUG();
}
#endif
if (apm_info.realmode_power_off)
machine_real_restart(po_bios_call, sizeof(po_bios_call));
else
(void) set_system_power_state(APM_STATE_OFF);
}

Does this mean that after the schedule() kernel is still in CPU1 ???
Will add a couple ptintks....
This is 2.4.19-pre7+aa patches.

TIA

-- 
J.A. Magallon <jamagallon@able.es>      \                 Software is like sex:
werewolf.able.es                         \           It's better when it's free
Mandrake Linux release 9.0 (Cooker) for i586
Linux 2.4.20-pre7-jam0 (gcc 3.2 (Mandrake Linux 9.0 3.2-1mdk))
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/