Re: [linux-pm] Crash when suspending Lenovo T510 laptop (2.6.39.3)

From: Rafael J. Wysocki
Date: Fri Aug 05 2011 - 16:34:45 EST


On Friday, August 05, 2011, Rafael J. Wysocki wrote:
> On Friday, August 05, 2011, Alan Stern wrote:
> > On Fri, 5 Aug 2011, Rafael J. Wysocki wrote:
> >
> > > > > I don't know how to fix it yet, but I think I know what the problem is.
> > > > > Namely, a runtime suspend of the Ethernet adapter as occured in parallel with
> > > > > the system-wide suspend and they clashed. The runtime suspend has probably
> > > > > been provoked by detaching the Ethernet cable from the box.
> > > >
> > > > For them to clash in that way would mean that the PM workqueue didn't
> > > > get frozen.
> > >
> > > Not necessarily, I think. It's sufficient that system suspend is started
> > > while the runtime PM operation is in progress.
> >
> > How so? The system suspend doesn't call down to the subsystems or
> > drivers until after all the threads are frozen. In this case the stack
> > dump shows that the runtime PM operation was asynchronous, running in a
> > workqueue thread (pm_runtime_work is one of the routines near the end
> > of the stack dump). The thread wouldn't have frozen until the runtime
> > PM operation was complete.
>
> You're right, sorry. System suspend was not involved, so the problem
> was triggerend by runtime suspend alone, resulting from unplugging the
> Ethernet cable.
>
> It looks like the crash started in pci_disable_msi().

OTOH, I'm not sure how pci_legacy_suspend_late() was called.
In theory it is only called by the system suspend code and it surely
is not called for e1000e.

Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/