[ACPI-sppt] Re: [2.5.75] S3 and S4

Pavel Machek <[email protected]>
Newsgroups gmane.linux.acpi.support,gmane.linux.kernel
Message-ID <[email protected]>
Hi!

> > > > > Suspending devices
> > > > > Badness in local_bh_enable at kernel/softirq.c:113
> > > > > Call Trace:
> > > > >  [<c0130078>] local_bh_enable+0x88/0x90
> > > > >  [<f0a44fa4>] e100_do_wol+0x14/0x60 [e100]
> > > > >  [<f0a461ee>] e100_suspend+0x3e/0xa0 [e100]
> > > > >  [<f0a461b0>] e100_suspend+0x0/0xa0 [e100]
> > > > >  [<c0212577>] pci_device_suspend+0x47/0x70
> > > > >  [<c029bc99>] device_suspend+0xd9/0x100
> > > > >  [<c023e047>] acpi_system_save_state+0x42/0x8c
> > > > >  [<c023e153>] acpi_suspend+0x5e/0xb3
> > > > >  [<c023e394>] acpi_system_write_sleep+0xe3/0x132
> > > > >  [<c0177de0>] filp_open+0x60/0x70
> > > > >  [<c017952d>] vfs_write+0xad/0x120
> > > > >  [<c017963f>] sys_write+0x3f/0x60
> > > > >  [<c010b10f>] syscall_call+0x7/0xb
> > > > > 
> > > > 
> > > > If e100. You have the hardware...
> > > 
> > > No, it's acpi_system_save_state() illegally calling device_suspend() under
> > > local_irq_disable().
> > 
> > Oops, I failed to see this is S3.
> > 
> > I can see that device_suspend( ..., SUSPEND_POWER_DOWN) is called with
> > interrupts disabled. But thats okay: (driver.txt) All calls are made
> > with interrupts enabled, except for the SUSPEND_POWER_DOWN level.
> 
> OK, it's an e100 bug then.  Not allowed to sleep or do spin_unloch_bh() in
> device_suspend( ..., SUSPEND_POWER_DOWN).
> 
> That's a fairly awkward restriction.

Actually, its not. Some phase with interrupts off is needed for
devices such as interrupt controller. Fix is very simple: move the
e100 suspend from SUSPEND_POWER_DOWN to some other level.

								Pavel

-- 
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]


-------------------------------------------------------
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing & more.
Download & eval WebKing and get a free book.
www.parasoft.com/bulletproofapps1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.