2011-06-12 11:14:33

by Arkadiusz Miskiewicz

[permalink] [raw]
Subject: mei driver breaks suspend on 3.0git


Hi,

When trying suspend to ram on 3.0git (b99ca60c83a631adaba9c2fff8f2dd14d3517a61)
I'm getting mei suspend failure:

Jun 11 23:39:26 localhost kernel: [10291.673881] uhci_hcd 0000:00:1a.1: PCI INT B disabled
Jun 11 23:39:26 localhost kernel: [10291.673898] uhci_hcd 0000:00:1a.0: PCI INT A disabled
Jun 11 23:39:26 localhost kernel: [10291.674121] pci_pm_suspend(): mei_pci_suspend+0x0/0x8b [mei] returns 2500
Jun 11 23:39:26 localhost kernel: [10291.674135] pm_op(): pci_pm_suspend+0x0/0xf1 returns 2500
Jun 11 23:39:26 localhost kernel: [10291.674141] PM: Device 0000:00:03.0 failed to suspend async: error 2500
Jun 11 23:39:26 localhost kernel: [10291.680109] ACPI handle has no context!
Jun 11 23:39:26 localhost kernel: [10291.766609] e1000e 0000:00:19.0: PCI INT A disabled
Jun 11 23:39:26 localhost kernel: [10291.766624] e1000e 0000:00:19.0: PME# enabled
Jun 11 23:39:26 localhost kernel: [10291.766642] e1000e 0000:00:19.0: wake-up capability enabled by ACPI
Jun 11 23:39:26 localhost kernel: [10291.780061] PM: Some devices failed to suspend
Jun 11 23:39:26 localhost kernel: [10291.780106] i915 0000:00:02.0: setting latency timer to 64

It's thinkpad t400 with
00:03.0 Communication controller [0780]: Intel Corporation Mobile 4 Series Chipset MEI Controller [8086:2a44] (rev 07)

--
Arkadiusz Miśkiewicz PLD/Linux Team
arekm / maven.pl http://ftp.pld-linux.org/


2011-06-12 17:36:27

by Weil, Oren jer

[permalink] [raw]
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?
Can you send us the debug prints?

Thanks

---
Oren Weil - Intel Corporation.
http://www.intel.com



Attachments:
smime.p7s (8.39 kB)

2011-06-12 17:49:50

by Winkler, Tomas

[permalink] [raw]
Subject: RE: mei driver breaks suspend on 3.0git



> -----Original Message-----
> From: Weil, Oren jer
> Sent: Sunday, June 12, 2011 8:36 PM
> To: Arkadiusz Miskiewicz
> Cc: Winkler, Tomas; [email protected]
> 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?
> Can you send us the debug prints?

You need enable dynamic debug printouts in kernel .config

CONFIG_DYNAMIC_DEBUG=y

and
echo "module mei +p" >/sys/kernel/debug/dynamic_debug/control

Thanks
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.
????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?

2011-06-12 18:16:40

by Arkadiusz Miskiewicz

[permalink] [raw]
Subject: Re: mei driver breaks suspend on 3.0git

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; [email protected]
> > 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.

--
Arkadiusz Miśkiewicz PLD/Linux Team
arekm / maven.pl http://ftp.pld-linux.org/


Attachments:
mei.txt.gz (24.75 kB)

2011-06-12 18:38:44

by Arkadiusz Miskiewicz

[permalink] [raw]
Subject: Re: mei driver breaks suspend on 3.0git

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; [email protected]
> > > 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"?

Untested.

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;

--
Arkadiusz Miśkiewicz PLD/Linux Team
arekm / maven.pl http://ftp.pld-linux.org/

2011-06-12 18:40:27

by Arkadiusz Miskiewicz

[permalink] [raw]
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; [email protected]
> > > > 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;


--
Arkadiusz Miśkiewicz PLD/Linux Team
arekm / maven.pl http://ftp.pld-linux.org/

2011-06-12 19:42:08

by Winkler, Tomas

[permalink] [raw]
Subject: RE: mei driver breaks suspend on 3.0git



> -----Original Message-----
> From: Arkadiusz Miskiewicz [mailto:[email protected]]
> Sent: Sunday, June 12, 2011 9:40 PM
> To: Winkler, Tomas
> Cc: Weil, Oren jer; [email protected]
> 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; [email protected]
> > > > > 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.
????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?

2011-06-21 18:46:14

by Marc Burkhardt

[permalink] [raw]
Subject: Re: mei driver breaks suspend on 3.0git

* Winkler, Tomas <[email protected]> [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:[email protected]]
> > Sent: Sunday, June 12, 2011 9:40 PM
> > To: Winkler, Tomas
> > Cc: Weil, Oren jer; [email protected]
> > 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; [email protected]
> > > > > > 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

2011-06-21 19:08:08

by Winkler, Tomas

[permalink] [raw]
Subject: RE: mei driver breaks suspend on 3.0git



> -----Original Message-----
> From: Marc Koschewski [mailto:[email protected]]
> Sent: Tuesday, June 21, 2011 9:40 PM
> To: Winkler, Tomas
> Cc: Arkadiusz Miskiewicz; Weil, Oren jer; [email protected]
> Subject: Re: mei driver breaks suspend on 3.0git
>
> * Winkler, Tomas <[email protected]> [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).

The patch was already posted https://lkml.org/lkml/2011/6/13/148 but wasn't picked up for rc4 yet.
For now please apply it your by yourself.

Greg, will you collect staging fixes for rc5 or shell it be picked up directly by Linus?

Thanks
Tomas

> Regards,
> Marc
>
> >
> >
> > > -----Original Message-----
> > > From: Arkadiusz Miskiewicz [mailto:[email protected]]
> > > Sent: Sunday, June 12, 2011 9:40 PM
> > > To: Winkler, Tomas
> > > Cc: Weil, Oren jer; [email protected]
> > > 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; [email protected]
> > > > > > > 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
---------------------------------------------------------------------
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.

2011-06-21 19:23:16

by Marc Burkhardt

[permalink] [raw]
Subject: Re: mei driver breaks suspend on 3.0git

* Winkler, Tomas <[email protected]> [2011-06-21 22:07:27 +0300]:

Tomas,

what I was trying to say is that this might fix the suspend bug with 'mei',
however, the box won't come up again even with 'mei' not playing anywhere.

suspend/resume is actually broken even if this fix might help suspending a
machine with 'mei' usage.

Regards,
Marc

>
>
> > -----Original Message-----
> > From: Marc Koschewski [mailto:[email protected]]
> > Sent: Tuesday, June 21, 2011 9:40 PM
> > To: Winkler, Tomas
> > Cc: Arkadiusz Miskiewicz; Weil, Oren jer; [email protected]
> > Subject: Re: mei driver breaks suspend on 3.0git
> >
> > * Winkler, Tomas <[email protected]> [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).
>
> The patch was already posted https://lkml.org/lkml/2011/6/13/148 but wasn't picked up for rc4 yet.
> For now please apply it your by yourself.
>
> Greg, will you collect staging fixes for rc5 or shell it be picked up directly by Linus?
>
> Thanks
> Tomas
>
> > Regards,
> > Marc
> >
> > >
> > >
> > > > -----Original Message-----
> > > > From: Arkadiusz Miskiewicz [mailto:[email protected]]
> > > > Sent: Sunday, June 12, 2011 9:40 PM
> > > > To: Winkler, Tomas
> > > > Cc: Weil, Oren jer; [email protected]
> > > > 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; [email protected]
> > > > > > > > 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
> ---------------------------------------------------------------------
> 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.
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
>

--
Marc Koschewski

2011-06-21 19:36:22

by Winkler, Tomas

[permalink] [raw]
Subject: RE: mei driver breaks suspend on 3.0git



> -----Original Message-----
> From: Marc Koschewski [mailto:[email protected]]
> Sent: Tuesday, June 21, 2011 10:23 PM
> To: Winkler, Tomas
> Cc: [email protected]; Arkadiusz Miskiewicz; Weil, Oren jer; linux-
> [email protected]
> Subject: Re: mei driver breaks suspend on 3.0git
>
> * Winkler, Tomas <[email protected]> [2011-06-21 22:07:27 +0300]:
>
> Tomas,
>
> what I was trying to say is that this might fix the suspend bug with 'mei',
> however, the box won't come up again even with 'mei' not playing
> anywhere.
>
> suspend/resume is actually broken even if this fix might help suspending a
> machine with 'mei' usage.

I will try to reproduce this tomorrow, can you please send out the description of your machine
Thanks
Tomas
>
> Regards,
> Marc
>
> >
> >
> > > -----Original Message-----
> > > From: Marc Koschewski [mailto:[email protected]]
> > > Sent: Tuesday, June 21, 2011 9:40 PM
> > > To: Winkler, Tomas
> > > Cc: Arkadiusz Miskiewicz; Weil, Oren jer;
> > > [email protected]
> > > Subject: Re: mei driver breaks suspend on 3.0git
> > >
> > > * Winkler, Tomas <[email protected]> [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).
> >
> > The patch was already posted https://lkml.org/lkml/2011/6/13/148 but
> wasn't picked up for rc4 yet.
> > For now please apply it your by yourself.
> >
> > Greg, will you collect staging fixes for rc5 or shell it be picked up directly by
> Linus?
> >
> > Thanks
> > Tomas
> >
> > > Regards,
> > > Marc
> > >
> > > >
> > > >
> > > > > -----Original Message-----
> > > > > From: Arkadiusz Miskiewicz [mailto:[email protected]]
> > > > > Sent: Sunday, June 12, 2011 9:40 PM
> > > > > To: Winkler, Tomas
> > > > > Cc: Weil, Oren jer; [email protected]
> > > > > 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; [email protected]
> > > > > > > > > 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
> > ---------------------------------------------------------------------
> > 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.
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe
> > linux-kernel" in the body of a message to [email protected]
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
> > Please read the FAQ at http://www.tux.org/lkml/
> >
> >
>
> --
> Marc Koschewski
---------------------------------------------------------------------
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.

2011-06-22 00:12:50

by Greg KH

[permalink] [raw]
Subject: Re: mei driver breaks suspend on 3.0git

On Tue, Jun 21, 2011 at 10:07:27PM +0300, Winkler, Tomas wrote:
>
>
> > -----Original Message-----
> > From: Marc Koschewski [mailto:[email protected]]
> > Sent: Tuesday, June 21, 2011 9:40 PM
> > To: Winkler, Tomas
> > Cc: Arkadiusz Miskiewicz; Weil, Oren jer; [email protected]
> > Subject: Re: mei driver breaks suspend on 3.0git
> >
> > * Winkler, Tomas <[email protected]> [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).
>
> The patch was already posted https://lkml.org/lkml/2011/6/13/148 but wasn't picked up for rc4 yet.
> For now please apply it your by yourself.
>
> Greg, will you collect staging fixes for rc5 or shell it be picked up directly by Linus?

I will get it and send it to Linus.

Sorry, I'm on vacation this week and have no real email access...

greg k-h