Messages in this thread | | | Date | Tue, 21 Jun 2011 20:39:54 +0200 | From | Marc Koschewski <> | Subject | Re: mei driver breaks suspend on 3.0git |
| |
* Winkler, Tomas <tomas.winkler@intel.com> [2011-06-12 22:41:59 +0300]:
I suffer the same. After booting 3.0.0-r4 with that module not being loaded it suspends, however, it doesn't resume (screen black, hard power-off needed).
Regards, Marc
> > > > -----Original Message----- > > From: Arkadiusz Miskiewicz [mailto:a.miskiewicz@gmail.com] > > Sent: Sunday, June 12, 2011 9:40 PM > > To: Winkler, Tomas > > Cc: Weil, Oren jer; linux-kernel@vger.kernel.org > > Subject: Re: mei driver breaks suspend on 3.0git > > > > On Sunday 12 of June 2011, Arkadiusz Miskiewicz wrote: > > > On Sunday 12 of June 2011, Arkadiusz Miskiewicz wrote: > > > > On Sunday 12 of June 2011, Winkler, Tomas wrote: > > > > > > -----Original Message----- > > > > > > From: Weil, Oren jer > > > > > > Sent: Sunday, June 12, 2011 8:36 PM > > > > > > To: Arkadiusz Miskiewicz > > > > > > Cc: Winkler, Tomas; linux-kernel@vger.kernel.org > > > > > > Subject: RE: mei driver breaks suspend on 3.0git > > > > > > > > > > > > >It's thinkpad t400 with > > > > > > >00:03.0 Communication controller [0780]: Intel Corporation > > > > > > >Mobile 4 Series Chipset MEI Controller [8086:2a44] (rev 07) > > > > > > > > > > > > Can you send us more details? Does it happened in stress? How do > > > > > > I reproduce it? > > > > > > > > No stress. This is my daily use notebook and I simply suspend to ram > > > > when sitting under X in kde4. > > > > > > > > > > Can you send us the debug prints? > > > > > > > > Attached. suspend starts, tries to resume devices, MEI suspend fails > > > > causing whole suspend to be aborted. > > > > > > Shouldn't ret > 0 in mei_wd_stop to be "success"? > > > > I meant this one: > > > > ret = wait_event_interruptible_timeout(dev->wait_stop_wd, > > dev->wd_stopped, 10 * HZ); > > > > > > And that was possible untested solution that relies on wd being stopped and > > not anything else. > > > > > > > > diff --git a/drivers/staging/mei/wd.c b/drivers/staging/mei/wd.c index > > > 2564b03..608245a 100644 > > > --- a/drivers/staging/mei/wd.c > > > +++ b/drivers/staging/mei/wd.c > > > @@ -171,8 +171,10 @@ int mei_wd_stop(struct mei_device *dev, bool > > preserve) > > > mutex_lock(&dev->device_lock); > > > if (!dev->wd_stopped) > > > dev_dbg(&dev->pdev->dev, "stop wd failed to complete.\n"); > > > - else > > > + else { > > > + ret = 0; > > > dev_dbg(&dev->pdev->dev, "stop wd complete.\n"); > > > + } > > > > > > if (preserve) > > > dev->wd_timeout = wd_timeout; > > > > Looks like your patch is correct > wait_event_interruptible_timeout() returns >0 on success unlike wait_even_interruptable() > > I wil check all the instances we have and issue a patch. > Thanks for your effort > Tomas > > --------------------------------------------------------------------- > Intel Israel (74) Limited > > This e-mail and any attachments may contain confidential material for > the sole use of the intended recipient(s). Any review or distribution > by others is strictly prohibited. If you are not the intended > recipient, please contact the sender and delete all copies.
-- Marc Koschewski
| |