shutdown via power button: "acpi: resumed at..."

Andriy Gapon avg at icyb.net.ua
Wed Mar 25 09:24:49 PDT 2009


on 25/03/2009 18:12 Nate Lawson said the following:
> Andriy Gapon wrote:
>> I noticed that sometimes I am getting "acpi: resumed at..." message on console and
>> in system log when I initiate system shutdown by pressing power button.
>> I think that the cause is in acpi_UserNotify("Resume") call and this call is only
>> found in acpi_EnterSleepState().
>>
>> I see the following code in that function:
>>     case ACPI_STATE_S5:
>>         /*
>>          * Shut down cleanly and power off.  This will call us back through the
>>          * shutdown handlers.
>>          */
>>         shutdown_nice(RB_POWEROFF);
>>         break;
>>
>> So it seems that it is expected that shutdown_nice() would return immediately.
>> I think it makes S5 a special case comparing to other states where return happens
>> upon resuming from the state.
>> In this case, maybe it is not necessary for S5 request to go through the
>> resume/wakeup half of acpi_EnterSleepState.
>>
> 
> I thought shutdown*() should never return at all. It sounds like
> interrupts are being re-enabled or something.
> 

No, this is a different kind of shutdown, this one just send a signal to init:
void
shutdown_nice(int howto)
{

        shutdown_howto = howto;

        /* Send a signal to init(8) and have it shutdown the world */
        if (initproc != NULL) {
                PROC_LOCK(initproc);
                psignal(initproc, SIGINT);
                PROC_UNLOCK(initproc);
        } else {
                /* No init(8) running, so simply reboot */
                boot(RB_NOSYNC);
        }
        return;
}


-- 
Andriy Gapon


More information about the freebsd-acpi mailing list