Skip to contentSkip to conversation

mei driver breaks suspend on 3.0git

DISCUSSION Arkadiusz Miskiewicz 5 participants 12 messages Jun 12, 2011 – Jun 22, 2011 Staging

lore
Share & tools
lore
#0 lore raw

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)

Signature · 2 lines
Arkadiusz Miśkiewicz        PLD/Linux Team
arekm / maven.pl            http://ftp.pld-linux.org/
#1 lore raw
Quoted 3 lines

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

#2 lore raw
Quoted 9 lines

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

Quoted 8 lines
Quoted 3 lines

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�

#3 lore raw
Quoted 7 lines · Tomas
Quoted 7 lines

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

Quoted 7 lines
Quoted 7 lines
Quoted 3 lines

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.

Quoted 1 line
Quoted 1 line

Can you send us the debug prints?

Attached. suspend starts, tries to resume devices, MEI suspend fails causing whole suspend to be aborted.

Signature · 2 lines
Arkadiusz Miśkiewicz        PLD/Linux Team
arekm / maven.pl            http://ftp.pld-linux.org/
#4 lore raw
Quoted 16 lines · Arkadiusz Miskiewicz
Quoted 7 lines · Tomas
Quoted 7 lines

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

Quoted 7 lines
Quoted 7 lines
Quoted 3 lines

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?

Quoted 7 lines

No stress. This is my daily use notebook and I simply suspend to ram when sitting under X in kde4.

Quoted 1 line
Quoted 1 line

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.

drivers/staging/mei/wd.c +3 -1
index 2564b03..608245a 100644
@@ -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;
Signature · 2 lines
Arkadiusz Miśkiewicz        PLD/Linux Team
arekm / maven.pl            http://ftp.pld-linux.org/
#5 lore raw
Quoted 20 lines · Arkadiusz Miskiewicz
Quoted 19 lines · Arkadiusz Miskiewicz
Quoted 7 lines · Tomas
Quoted 7 lines

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

Quoted 7 lines
Quoted 7 lines
Quoted 3 lines

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.

Quoted 6 lines
Quoted 4 lines
Quoted 1 line
Quoted 1 line

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.

Quoted 17 lines
drivers/staging/mei/wd.c +3 -1
index 2564b03..608245a 100644
@@ -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;
Signature · 2 lines
Arkadiusz Miśkiewicz        PLD/Linux Team
arekm / maven.pl            http://ftp.pld-linux.org/
#6 lore raw
Quoted 46 lines

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

Quoted 19 lines · Arkadiusz Miskiewicz
Quoted 18 lines · Arkadiusz Miskiewicz
Quoted 7 lines · Tomas
Quoted 7 lines

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

Quoted 6 lines
Quoted 6 lines
Quoted 3 lines

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.

Quoted 6 lines
Quoted 4 lines
Quoted 1 line
Quoted 1 line

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.

Quoted 1 line
Quoted 18 lines

drivers/staging/mei/wd.c int mei_wd_stop(struct mei_device *dev, bool

Quoted 5 lines
drivers/staging/mei/wd.c index renamed from drivers/staging/mei/wd.c +0 -0

2564b03..608245a 100644

drivers/staging/mei/wd.c +0 -0
@@ -171,8 +171,10 @@ int mei_wd_stop(struct mei_device *dev, bool

preserve)

Quoted 11 lines
drivers/staging/mei/wd.c +3 -1
        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�

#7 lore raw

* 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

Quoted 79 lines
Quoted 46 lines

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

Quoted 19 lines · Arkadiusz Miskiewicz
Quoted 18 lines · Arkadiusz Miskiewicz
Quoted 7 lines · Tomas
Quoted 7 lines

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

Quoted 6 lines
Quoted 6 lines
Quoted 3 lines

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.

Quoted 6 lines
Quoted 4 lines
Quoted 1 line
Quoted 1 line

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.

Quoted 1 line
Quoted 18 lines

drivers/staging/mei/wd.c int mei_wd_stop(struct mei_device *dev, bool

Quoted 5 lines
drivers/staging/mei/wd.c index renamed from drivers/staging/mei/wd.c +0 -0

2564b03..608245a 100644

drivers/staging/mei/wd.c +0 -0
@@ -171,8 +171,10 @@ int mei_wd_stop(struct mei_device *dev, bool

preserve)

Quoted 11 lines
drivers/staging/mei/wd.c +3 -1
        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.

Signature · 1 line
Marc Koschewski
#8 lore raw
Quoted 9 lines

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

Quoted 5 lines

* 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

Quoted 79 lines

Regards,
Marc

Quoted 76 lines
Quoted 46 lines

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

Quoted 19 lines · Arkadiusz Miskiewicz
Quoted 18 lines · Arkadiusz Miskiewicz
Quoted 7 lines · Tomas
Quoted 7 lines

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

Quoted 6 lines
Quoted 6 lines
Quoted 3 lines

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.

Quoted 6 lines
Quoted 4 lines
Quoted 1 line
Quoted 1 line

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.

Quoted 1 line
Quoted 18 lines

drivers/staging/mei/wd.c int mei_wd_stop(struct mei_device *dev, bool

Quoted 5 lines
drivers/staging/mei/wd.c +0 -0
index 2564b03..608245a 100644
@@ -171,8 +171,10 @@ int mei_wd_stop(struct mei_device *dev, bool

preserve)

Quoted 11 lines
drivers/staging/mei/wd.c +3 -1
        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

Quoted 7 lines
Quoted 4 lines

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.

#9 lore raw

* 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

Quoted 124 lines
Quoted 9 lines

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

Quoted 5 lines

* 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

Quoted 79 lines

Regards,
Marc

Quoted 76 lines
Quoted 46 lines

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

Quoted 19 lines · Arkadiusz Miskiewicz
Quoted 18 lines · Arkadiusz Miskiewicz
Quoted 7 lines · Tomas
Quoted 7 lines

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

Quoted 6 lines
Quoted 6 lines
Quoted 3 lines

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.

Quoted 6 lines
Quoted 4 lines
Quoted 1 line
Quoted 1 line

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.

Quoted 1 line
Quoted 18 lines

drivers/staging/mei/wd.c int mei_wd_stop(struct mei_device *dev, bool

Quoted 5 lines
drivers/staging/mei/wd.c +0 -0
index 2564b03..608245a 100644
@@ -171,8 +171,10 @@ int mei_wd_stop(struct mei_device *dev, bool

preserve)

Quoted 11 lines
drivers/staging/mei/wd.c +3 -1
        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

Quoted 7 lines
Quoted 4 lines

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/

Signature · 1 line
Marc Koschewski
#10 lore raw
Quoted 12 lines

-----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]:

Quoted 8 lines

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

Quoted 139 lines

Regards,
Marc

Quoted 11 lines
Quoted 11 lines

-----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]:

Quoted 6 lines
Quoted 4 lines

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.

Quoted 3 lines

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?

Quoted 65 lines

Thanks
Tomas

Quoted 61 lines

Regards,
Marc

Quoted 58 lines
Quoted 58 lines

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

Quoted 20 lines · Arkadiusz Miskiewicz
Quoted 19 lines · Arkadiusz Miskiewicz
Quoted 7 lines · Tomas
Quoted 7 lines

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

Quoted 7 lines
Quoted 7 lines
Quoted 4 lines

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.

Quoted 6 lines
Quoted 4 lines
Quoted 1 line
Quoted 1 line

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.

Quoted 7 lines
(quoted diff) +0 -0

b/drivers/staging/mei/wd.c index 2564b03..608245a 100644

drivers/staging/mei/wd.c +0 -0
@@ -171,8 +171,10 @@ int mei_wd_stop(struct mei_device *dev,

bool

preserve)

Quoted 3 lines
        mutex_lock(&dev->device_lock);
        if (!dev->wd_stopped)
                dev_dbg(&dev->pdev->dev, "stop wd failed to

complete.\n");

Quoted 38 lines
Quoted 23 lines
Quoted 23 lines
Quoted 10 lines
Quoted 9 lines
drivers/staging/mei/wd.c +2 -1
-       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

Quoted 7 lines
Quoted 4 lines

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.

Quoted 7 lines

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

Quoted 2 lines

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

#11 lore raw
In reply to Winkler, Tomas
Quoted 11 lines · Tomas
Quoted 11 lines

-----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]:

Quoted 8 lines
Quoted 3 lines

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