[Devel] [PATCH RHEL7 COMMIT] ms/mei: me: release hw from reset only during the reset flow

Konstantin Khorenko khorenko at virtuozzo.com
Wed Apr 13 04:46:10 PDT 2016


The commit is pushed to "branch-rh7-3.10.0-327.10.1.vz7.12.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-327.10.1.vz7.12.8
------>
commit 4828780dd93635740a6cb0dc614e2480b138fa9f
Author: Alexander Usyskin <alexander.usyskin at intel.com>
Date:   Wed Apr 13 15:46:10 2016 +0400

    ms/mei: me: release hw from reset only during the reset flow
    
    ms commit: 663b7ee9517eec6deea9a48c7a1392a9a34f7809
    ("mei: me: release hw from reset only during the reset flow")
    
    We might enter the interrupt handler with hw_ready already set,
    but prior we actually started the reset flow.
    To soleve this we move the reset release from the interrupt handler
    to the HW start wait function which is part of the reset sequence.
    
    Cc: <stable at vger.kernel.org> #3.10+
    Signed-off-by: Alexander Usyskin <alexander.usyskin at intel.com>
    Signed-off-by: Tomas Winkler <tomas.winkler at intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
    
    Conflicts:
    	drivers/misc/mei/hw-me.c
    
    https://jira.sw.ru/browse/PSBM-46132
    
    Signed-off-by: Konstantin Khorenko <khorenko at virtuozzo.com>
---
 drivers/misc/mei/hw-me.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/misc/mei/hw-me.c b/drivers/misc/mei/hw-me.c
index af60767..f16ac7d 100644
--- a/drivers/misc/mei/hw-me.c
+++ b/drivers/misc/mei/hw-me.c
@@ -255,6 +255,7 @@ static int mei_me_hw_ready_wait(struct mei_device *dev)
 		return err;
 	}
 
+	mei_me_hw_reset_release(dev);
 	dev->recvd_hw_ready = false;
 	return 0;
 }
@@ -496,9 +497,7 @@ irqreturn_t mei_me_irq_thread_handler(int irq, void *dev_id)
 	/*  check if we need to start the dev */
 	if (!mei_host_is_ready(dev)) {
 		if (mei_hw_is_ready(dev)) {
-			mei_me_hw_reset_release(dev);
 			dev_dbg(&dev->pdev->dev, "we need to start the dev.\n");
-
 			dev->recvd_hw_ready = true;
 			wake_up_interruptible(&dev->wait_hw_ready);
 		} else {


More information about the Devel mailing list