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

From: J.A. Magallon (jamagallon@able.es)
Date: Wed Sep 18 2002 - 05:20:29 EST


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/



This archive was generated by hypermail 2b29 : Mon Sep 23 2002 - 22:00:22 EST