diff options
author | Alexander Usyskin <alexander.usyskin@intel.com> | 2016-06-16 16:58:52 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-08-30 14:36:39 +0200 |
commit | 77537ad2917bbca0a73ee6ebd44fc0ce5416d590 (patch) | |
tree | c9bd6250496ac139ed82e9639c6ea7dd70aa8168 /drivers/misc/mei/pci-txe.c | |
parent | mei: drop mei_io_cb_alloc_buf (diff) | |
download | linux-77537ad2917bbca0a73ee6ebd44fc0ce5416d590.tar.xz linux-77537ad2917bbca0a73ee6ebd44fc0ce5416d590.zip |
mei: recover after errors in runtime pm flow
Schedule link reset if failed to perform runtime suspend or resume.
Set active runtime pm stte on link reset
to clean runtimr pm error, if present.
Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc/mei/pci-txe.c')
-rw-r--r-- | drivers/misc/mei/pci-txe.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/misc/mei/pci-txe.c b/drivers/misc/mei/pci-txe.c index 30cc30683c07..58ffd30dcc91 100644 --- a/drivers/misc/mei/pci-txe.c +++ b/drivers/misc/mei/pci-txe.c @@ -347,6 +347,10 @@ static int mei_txe_pm_runtime_suspend(struct device *device) dev_dbg(&pdev->dev, "rpm: txe: runtime suspend ret=%d\n", ret); mutex_unlock(&dev->device_lock); + + if (ret && ret != -EAGAIN) + schedule_work(&dev->reset_work); + return ret; } @@ -372,6 +376,9 @@ static int mei_txe_pm_runtime_resume(struct device *device) dev_dbg(&pdev->dev, "rpm: txe: runtime resume ret = %d\n", ret); + if (ret) + schedule_work(&dev->reset_work); + return ret; } |