* [char-misc 4.16] mei: set device client to the disconnected state upon suspend.
@ 2018-02-14 12:03 Tomas Winkler
2018-02-16 10:11 ` Greg Kroah-Hartman
0 siblings, 1 reply; 3+ messages in thread
From: Tomas Winkler @ 2018-02-14 12:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Alexander Usyskin, linux-kernel, Tomas Winkler
This fixes regression introduced by
commit 8d52af6795c0 ("mei: speed up the power down flow")
In mei_cldev_disable during device power down flow, such as
suspend or system power off, it jumps over disconnecting function
to speed up the power down process, however, because the client is
unlinked from the file_list (mei_cl_unlink) mei_cl_set_disconnected
is not called from mei_cl_all_disconnect leaving resource leaking.
The most visible is reference counter on underlying HW module is
not decreased preventing to remove modules after suspend/resume cycles.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Fixes: 8d52af6795c0 ("mei: speed up the power down flow")
---
drivers/misc/mei/bus.c | 6 ------
drivers/misc/mei/client.c | 6 ++++++
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/misc/mei/bus.c b/drivers/misc/mei/bus.c
index 3e5eabdae8d9..772d02922529 100644
--- a/drivers/misc/mei/bus.c
+++ b/drivers/misc/mei/bus.c
@@ -548,12 +548,6 @@ int mei_cldev_disable(struct mei_cl_device *cldev)
goto out;
}
- if (bus->dev_state == MEI_DEV_POWER_DOWN) {
- dev_dbg(bus->dev, "Device is powering down, don't bother with disconnection\n");
- err = 0;
- goto out;
- }
-
err = mei_cl_disconnect(cl);
if (err < 0)
dev_err(bus->dev, "Could not disconnect from the ME client\n");
diff --git a/drivers/misc/mei/client.c b/drivers/misc/mei/client.c
index be64969d986a..7e60c1817c31 100644
--- a/drivers/misc/mei/client.c
+++ b/drivers/misc/mei/client.c
@@ -945,6 +945,12 @@ int mei_cl_disconnect(struct mei_cl *cl)
return 0;
}
+ if (dev->dev_state == MEI_DEV_POWER_DOWN) {
+ cl_dbg(dev, cl, "Device is powering down, don't bother with disconnection\n");
+ mei_cl_set_disconnected(cl);
+ return 0;
+ }
+
rets = pm_runtime_get(dev->dev);
if (rets < 0 && rets != -EINPROGRESS) {
pm_runtime_put_noidle(dev->dev);
--
2.14.3
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [char-misc 4.16] mei: set device client to the disconnected state upon suspend.
2018-02-14 12:03 [char-misc 4.16] mei: set device client to the disconnected state upon suspend Tomas Winkler
@ 2018-02-16 10:11 ` Greg Kroah-Hartman
2018-02-16 21:17 ` Winkler, Tomas
0 siblings, 1 reply; 3+ messages in thread
From: Greg Kroah-Hartman @ 2018-02-16 10:11 UTC (permalink / raw)
To: Tomas Winkler; +Cc: Alexander Usyskin, linux-kernel
On Wed, Feb 14, 2018 at 02:03:29PM +0200, Tomas Winkler wrote:
> This fixes regression introduced by
> commit 8d52af6795c0 ("mei: speed up the power down flow")
In the future, put:
Fixes: 8d52af6795c0 ("mei: speed up the power down flow")
in your signed-off-by area so that we can track this more easily.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: [char-misc 4.16] mei: set device client to the disconnected state upon suspend.
2018-02-16 10:11 ` Greg Kroah-Hartman
@ 2018-02-16 21:17 ` Winkler, Tomas
0 siblings, 0 replies; 3+ messages in thread
From: Winkler, Tomas @ 2018-02-16 21:17 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Usyskin, Alexander, linux-kernel@vger.kernel.org
>
> On Wed, Feb 14, 2018 at 02:03:29PM +0200, Tomas Winkler wrote:
> > This fixes regression introduced by
> > commit 8d52af6795c0 ("mei: speed up the power down flow")
>
> In the future, put:
> Fixes: 8d52af6795c0 ("mei: speed up the power down flow")
>
> in your signed-off-by area so that we can track this more easily.
>
Will do, thanks for taking care of it.
Tomas
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-02-16 21:17 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-14 12:03 [char-misc 4.16] mei: set device client to the disconnected state upon suspend Tomas Winkler
2018-02-16 10:11 ` Greg Kroah-Hartman
2018-02-16 21:17 ` Winkler, Tomas
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox