[lkml]   [2009]   [Oct]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Help needed, Re: [Bug #14334] pcmcia suspend regression from to - Dell Inspiron 600m
    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

    - 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...


     \ /
      Last update: 2009-10-31 00:59    [W:0.020 / U:15.948 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site