summaryrefslogtreecommitdiffstats
path: root/drivers/crypto/ccree/cc_pm.c
diff options
context:
space:
mode:
authorLinus Torvalds2019-02-15 17:11:43 +0100
committerLinus Torvalds2019-02-15 17:11:43 +0100
commit2aba322074de0d6781f4ae6b44d3e792b9bd2243 (patch)
tree72deadea51742b353bbd77d575ecbf09d7415a1a /drivers/crypto/ccree/cc_pm.c
parentMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net (diff)
parentcrypto: ccree - fix resume race condition on init (diff)
downloadkernel-qcow2-linux-2aba322074de0d6781f4ae6b44d3e792b9bd2243.tar.gz
kernel-qcow2-linux-2aba322074de0d6781f4ae6b44d3e792b9bd2243.tar.xz
kernel-qcow2-linux-2aba322074de0d6781f4ae6b44d3e792b9bd2243.zip
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto fix from Herbert Xu: "This fixes a crash on resume in the ccree driver" * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: ccree - fix resume race condition on init
Diffstat (limited to 'drivers/crypto/ccree/cc_pm.c')
-rw-r--r--drivers/crypto/ccree/cc_pm.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/crypto/ccree/cc_pm.c b/drivers/crypto/ccree/cc_pm.c
index d990f472e89f..6ff7e75ad90e 100644
--- a/drivers/crypto/ccree/cc_pm.c
+++ b/drivers/crypto/ccree/cc_pm.c
@@ -100,20 +100,19 @@ int cc_pm_put_suspend(struct device *dev)
int cc_pm_init(struct cc_drvdata *drvdata)
{
- int rc = 0;
struct device *dev = drvdata_to_dev(drvdata);
/* must be before the enabling to avoid resdundent suspending */
pm_runtime_set_autosuspend_delay(dev, CC_SUSPEND_TIMEOUT);
pm_runtime_use_autosuspend(dev);
/* activate the PM module */
- rc = pm_runtime_set_active(dev);
- if (rc)
- return rc;
- /* enable the PM module*/
- pm_runtime_enable(dev);
+ return pm_runtime_set_active(dev);
+}
- return rc;
+/* enable the PM module*/
+void cc_pm_go(struct cc_drvdata *drvdata)
+{
+ pm_runtime_enable(drvdata_to_dev(drvdata));
}
void cc_pm_fini(struct cc_drvdata *drvdata)