From: TJ <linux@tjworld.net>
To: linux-acpi@vger.kernel.org
Subject: Any known issues of premature suspend?
Date: Mon, 23 Jul 2007 02:26:06 +0100 [thread overview]
Message-ID: <1185153966.1346.29.camel@bagoas> (raw)
In-Reply-To: <S1761554AbXGVXPI/20070722231508Z+217@vger.kernel.org>
I'm currently debugging a weird issue where the PC appears to be
attempting to S3 suspend prematurely in acpi_enter_sleep_state().
The PC is a Sony Vaio PCG-SRX51P/B notebook (Intel 850MHz, 384MB, kernel
2.6.20-16) with Ubuntu 7.04 Feisty 32-bit with CONFIG_ACPI_DEBUG.
I added some additional debug messages to acpi_enter_sleep_state() and
find that after the 1st write to "PM1B (SLP_TYP data)" but before
writing "PM1A (SLP_TYP + SLP_EN)" the PC appears to suspend prematurely,
and then instantly comes back with "Back to C!".
It doesn't seem to fail via the ACPI_FAILURE()... return_ACPI_STATUS()
logic as far as I can tell.
Here's the log entries:
kernel: [ 328.044000] hwsleep-0285 [03] enter_sleep_state :
Entering sleep state [S3]
kernel: [ 328.044000] hwsleep-0308 [03] enter_sleep_state :
Writing PM1A (SLP_TYP data) 1401
kernel: [ 328.044000] hwsleep-0319 [03] enter_sleep_state :
Writing PM1B (SLP_TYP data) 1401
kernel: [ 328.044000] hwsleep-0326 [03] enter_sleep_state : Just
written PM1B (SLP_TYP data). status=0x0
kernel: [ 328.044000] Back to C!
Any ideas?
TJ.
-----drivers/acpi/hardware/hwsleep.c::acpi_enter_sleep_state()----
/* Write #1: fill in SLP_TYP data */
#ifdef DEBUG_RESUME
ACPI_DEBUG_PRINT((ACPI_DB_INIT, "Writing PM1A (SLP_TYP data) %x\n",
PM1Acontrol));
#endif
status = acpi_hw_register_write(ACPI_MTX_DO_NOT_LOCK,
ACPI_REGISTER_PM1A_CONTROL,
PM1Acontrol);
if (ACPI_FAILURE(status)) {
return_ACPI_STATUS(status);
}
#ifdef DEBUG_RESUME
ACPI_DEBUG_PRINT((ACPI_DB_INIT, "Writing PM1B (SLP_TYP data) %x\n",
PM1Bcontrol));
#endif
status = acpi_hw_register_write(ACPI_MTX_DO_NOT_LOCK,
ACPI_REGISTER_PM1B_CONTROL,
PM1Bcontrol);
#ifdef DEBUG_RESUME
ACPI_DEBUG_PRINT((ACPI_DB_INIT, "Just written PM1B (SLP_TYP data).
status=0x%x\n", status));
#endif
if (ACPI_FAILURE(status)) {
#ifdef DEBUG_RESUME
ACPI_DEBUG_PRINT((ACPI_DB_INIT, "Failed writing PM1B (SLP_TYP data).
status=0x%x\n", status));
#endif
return_ACPI_STATUS(status);
}
/* Insert SLP_ENABLE bit */
PM1Acontrol |= sleep_enable_reg_info->access_bit_mask;
PM1Bcontrol |= sleep_enable_reg_info->access_bit_mask;
/* Write #2: SLP_TYP + SLP_EN */
#ifdef DEBUG_RESUME
ACPI_DEBUG_PRINT((ACPI_DB_INIT, "About to flush CPU cache\n"));
#endif
ACPI_FLUSH_CPU_CACHE();
#ifdef DEBUG_RESUME
ACPI_DEBUG_PRINT((ACPI_DB_INIT, "Writing PM1A (SLP_TYP + SLP_EN) %x\n",
PM1Acontrol));
#endif
status = acpi_hw_register_write(ACPI_MTX_DO_NOT_LOCK,
ACPI_REGISTER_PM1A_CONTROL,
PM1Acontrol);
if (ACPI_FAILURE(status)) {
return_ACPI_STATUS(status);
}
#ifdef DEBUG_RESUME
ACPI_DEBUG_PRINT((ACPI_DB_INIT, "Writing PM1B (SLP_TYP + SLP_EN) %x\n",
PM1Bcontrol));
#endif
status = acpi_hw_register_write(ACPI_MTX_DO_NOT_LOCK,
ACPI_REGISTER_PM1B_CONTROL,
PM1Bcontrol);
if (ACPI_FAILURE(status)) {
return_ACPI_STATUS(status);
}
#ifdef DEBUG_RESUME
ACPI_DEBUG_PRINT((ACPI_DB_INIT, "Just done sleep S3\n"));
#endif
next parent reply other threads:[~2007-07-23 1:32 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <S1761554AbXGVXPI/20070722231508Z+217@vger.kernel.org>
2007-07-23 1:26 ` TJ [this message]
2007-07-23 13:36 ` Any known issues of premature suspend? TJ
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1185153966.1346.29.camel@bagoas \
--to=linux@tjworld.net \
--cc=linux-acpi@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox