summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTroy Kisky <troy.kisky@boundarydevices.com>2014-08-11 12:16:08 -0700
committerMax Krummenacher <max.krummenacher@toradex.com>2015-06-23 13:02:01 +0200
commite37c5b88dc1e46a54dbc9a5fdafb44a06f9d29b3 (patch)
tree78ca5001152082bf0d748634300b678e112c5962
parent71202f35d1049d82925518ff9adbc2aa4ed4a955 (diff)
caamalg: retry on dev_get_drvdata failure
-rw-r--r--drivers/crypto/caam/caamalg.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/crypto/caam/caamalg.c b/drivers/crypto/caam/caamalg.c
index b7ed1059779f..c4bfb10602ad 100644
--- a/drivers/crypto/caam/caamalg.c
+++ b/drivers/crypto/caam/caamalg.c
@@ -2351,6 +2351,14 @@ static int __init caam_algapi_init(void)
ctrldev = &pdev->dev;
priv = dev_get_drvdata(ctrldev);
+ if (!priv) {
+ dev_err(ctrldev, "dev_get_drvdata failed\n");
+ msleep(10);
+ priv = dev_get_drvdata(ctrldev);
+ if (!priv)
+ return -ENODEV;
+ dev_err(ctrldev, "dev_get_drvdata succeeded after pause\n");
+ }
INIT_LIST_HEAD(&priv->alg_list);