On Fri, 2009-10-30 at 12:47 -0700, Linus Torvalds wrote:
> 
> On Fri, 30 Oct 2009, Rafael J. Wysocki wrote:
> > 
> >
> > 1) Resume works if pcmcia_socket_dev_resume(dev) is moved to the "regular"
> >    resume phase, after resume_device_irqs().
> 
> Hmm. We really probably shouldn't call pcmcia_socket_dev_resume() in 
> early_resume. It takes mutexes etc, and it calls "socket_resume()", which 
> sleeps etc. That per se should be ok these days (since we don't actualyl 
> disable CPU irq's, just device irqs), but it also does that whole card 
> insertion events etc. And _that_ code I wouldn't trust at all.
> 
> The PCMCIA code is better than it used to be a long time ago, but some of 
> it is still pretty crazy. 
> 
> I get the feeling that we should just revert that commit 0c570cdeb, and 
> instead always do PCMCIA suspend as a "eject" event. That way we have no 
> driver behind it to resume at resume time - and we'll see any plugged-in 
> device as just a new insertion. 

To me the proper approach would be to split it so that

 - early_resume() restores power & config space etc... so that existing
devices can move on (might check for removal). There's no other hotplug
activity

 - normal resume() restarts handling of events such as insertions

Now, while I do have some cardbus & pcmcia stuff somewhere, I also don't
have much time to hack on this right now...

Cheers,
Ben.

--
To unsubscribe from this list: send the line "unsubscribe kernel-testers" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to