From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S263357AbTDGJSN (for ); Mon, 7 Apr 2003 05:18:13 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S263359AbTDGJSN (for ); Mon, 7 Apr 2003 05:18:13 -0400 Received: from 205-158-62-136.outblaze.com ([205.158.62.136]:36056 "HELO fs5-4.us4.outblaze.com") by vger.kernel.org with SMTP id S263357AbTDGJSM (for ); Mon, 7 Apr 2003 05:18:12 -0400 Subject: Re: 2.5.66-bk12: acpi_power_off: sleeping function called from illegal context From: Felipe Alfaro Solana To: Zwane Mwaikambo Cc: LKML , Andy Grover In-Reply-To: References: <1049668212.725.13.camel@teapot.felipe-alfaro.com> Content-Type: text/plain Organization: Message-Id: <1049707778.592.22.camel@teapot.felipe-alfaro.com> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.2.3 (1.2.3-1) Date: 07 Apr 2003 11:29:39 +0200 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 2003-04-07 at 00:48, Zwane Mwaikambo wrote: > On Sun, 7 Apr 2003, Felipe Alfaro Solana wrote: > > > Power down. > > acpi_power_off called > > Debug: sleeping function called from illegal context at > > include/asm/semaphore.h: 119 > > Call Trace: > > [] __might_sleep+0x5f/0x75 > > [] acpi_os_wait_semaphore+0xc5/0xea > > [] acpi_ut_acquire_mutex+0x51/0x73 > > [] acpi_set_register+0x34/0x15d > > [] acpi_enter_sleep_state+0x77/0x1ab > > [] acpi_power_off+0x21/0x23 > > [] machine_power_off+0x10/0x13 > > [] sys_reboot+0x332/0x741 > > [] schedule+0x210/0x6d7 > > [] group_send_sig_info+0x2af/0x6b6 > > [] preempt_schedule+0x36/0x50 > > [] kill_proc_info+0x60/0x62 > > [] sys_kill+0x4d/0x51 > > [] __fput+0xaf/0xfb > > [] filp_close+0x160/0x226 > > [] sys_ioctl+0x197/0x3e8 > > [] sysenter_past_esp+0x52/0x71 > > You probably need this; > > Index: linux-2.5.66/drivers/acpi/osl.c > =================================================================== > RCS file: /build/cvsroot/linux-2.5.66/drivers/acpi/osl.c,v > retrieving revision 1.1.1.1 > diff -u -p -B -r1.1.1.1 osl.c > --- linux-2.5.66/drivers/acpi/osl.c 24 Mar 2003 23:39:26 -0000 1.1.1.1 > +++ linux-2.5.66/drivers/acpi/osl.c 6 Apr 2003 22:46:04 -0000 > @@ -750,7 +750,7 @@ acpi_os_wait_semaphore( > > ACPI_DEBUG_PRINT ((ACPI_DB_MUTEX, "Waiting for semaphore[%p|%d|%d]\n", handle, units, timeout)); > > - if (in_atomic()) > + if (in_atomic() || irqs_disabled()) > timeout = 0; > > switch (timeout) OK, now it doesn't cause an oops, but the machine doesn't power off: it stays powered on showing: acpi_power_off and I must manually cycle the power. This 2.5 ACPI stuff is causing me great deal of pain... I can never get it to work realiably. ________________________________________________________________________ Linux Registered User #287198