This is a note to let you know that I've just added the patch titled

    mei: don't schedule suspend in pm idle

to the 3.16-stable tree which can be found at:
    
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     mei-don-t-schedule-suspend-in-pm-idle.patch
and it can be found in the queue-3.16 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.


>From d5d83f8abea13d0b50ee762276c6c900d1946264 Mon Sep 17 00:00:00 2001
From: Alexander Usyskin <[email protected]>
Date: Thu, 17 Jul 2014 10:53:36 +0300
Subject: mei: don't schedule suspend in pm idle

From: Alexander Usyskin <[email protected]>

commit d5d83f8abea13d0b50ee762276c6c900d1946264 upstream.

Calling pm_schedule_suspend from the runtime pm idle callback
may reschedule existing timer, thus in case of frequent runtime
rpm idle call the suspend maybe starved.
Instead we call pm_runtime_autosuspend which is checking if the
timer is already charged.

An example is monitoring device pci config space.
Pci config sysfs handlers calls pci_config_pm_runtime_put/get
helpers which in turns calls to device idle callback

Signed-off-by: Alexander Usyskin <[email protected]>
Signed-off-by: Tomas Winkler <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 drivers/misc/mei/pci-me.c  |    2 +-
 drivers/misc/mei/pci-txe.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

--- a/drivers/misc/mei/pci-me.c
+++ b/drivers/misc/mei/pci-me.c
@@ -369,7 +369,7 @@ static int mei_me_pm_runtime_idle(struct
        if (!dev)
                return -ENODEV;
        if (mei_write_is_idle(dev))
-               pm_schedule_suspend(device, MEI_ME_RPM_TIMEOUT * 2);
+               pm_runtime_autosuspend(device);
 
        return -EBUSY;
 }
--- a/drivers/misc/mei/pci-txe.c
+++ b/drivers/misc/mei/pci-txe.c
@@ -306,7 +306,7 @@ static int mei_txe_pm_runtime_idle(struc
        if (!dev)
                return -ENODEV;
        if (mei_write_is_idle(dev))
-               pm_schedule_suspend(device, MEI_TXI_RPM_TIMEOUT * 2);
+               pm_runtime_autosuspend(device);
 
        return -EBUSY;
 }


Patches currently in stable-queue which might be from 
[email protected] are

queue-3.16/mei-fix-return-value-on-disconnect-timeout.patch
queue-3.16/mei-start-disconnect-request-timer-consistently.patch
queue-3.16/mei-don-t-schedule-suspend-in-pm-idle.patch
queue-3.16/mei-reset-client-connection-state-on-timeout.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to