Re: [2.5.75] S3 and S4

Andrew Morton <[email protected]>
Newsgroups gmane.linux.kernel,gmane.linux.acpi.support
Message-ID <[email protected]>
Pavel Machek <[email protected]> wrote:
>
> > > > 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.
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.