summaryrefslogtreecommitdiffstats
path: root/drivers/misc/mei/init.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman2013-03-27 00:09:30 +0100
committerGreg Kroah-Hartman2013-03-27 00:09:30 +0100
commit8c876be81a1f2f0ab33ffb2b00871e65c7a658b3 (patch)
tree60426265759ab14b00c94a791520f140062bb57c /drivers/misc/mei/init.c
parentmfd: pm8921: Disable driver until it gets fixed (diff)
parentVMCI: Fix process-to-process DRGAMs. (diff)
downloadkernel-qcow2-linux-8c876be81a1f2f0ab33ffb2b00871e65c7a658b3.tar.gz
kernel-qcow2-linux-8c876be81a1f2f0ab33ffb2b00871e65c7a658b3.tar.xz
kernel-qcow2-linux-8c876be81a1f2f0ab33ffb2b00871e65c7a658b3.zip
Merge branch 'char-misc-linus' into char-misc-next
This picks up the MEI fixes that we need in this branch now. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc/mei/init.c')
-rw-r--r--drivers/misc/mei/init.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/misc/mei/init.c b/drivers/misc/mei/init.c
index fc3d97ce8300..1ab1fb1db07b 100644
--- a/drivers/misc/mei/init.c
+++ b/drivers/misc/mei/init.c
@@ -199,6 +199,24 @@ void mei_reset(struct mei_device *dev, int interrupts_enabled)
mei_cl_all_write_clear(dev);
}
+void mei_stop(struct mei_device *dev)
+{
+ dev_dbg(&dev->pdev->dev, "stopping the device.\n");
+
+ mutex_lock(&dev->device_lock);
+
+ cancel_delayed_work(&dev->timer_work);
+
+ mei_wd_stop(dev);
+
+ dev->dev_state = MEI_DEV_POWER_DOWN;
+ mei_reset(dev, 0);
+
+ mutex_unlock(&dev->device_lock);
+
+ flush_scheduled_work();
+}
+