summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTroy Kisky <troy.kisky@boundarydevices.com>2014-08-21 15:24:23 -0700
committerMax Krummenacher <max.krummenacher@toradex.com>2015-06-23 13:02:01 +0200
commit71202f35d1049d82925518ff9adbc2aa4ed4a955 (patch)
treeea535e22b601b2f2f48e5da3f3b5e2f24318fccb
parentddb9f9cd23069a115433f8b0f243289a9f4fa1d7 (diff)
caamhash: wait for driver data available
-rw-r--r--drivers/crypto/caam/caamhash.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/crypto/caam/caamhash.c b/drivers/crypto/caam/caamhash.c
index f90449943e31..def0b51cd4ae 100644
--- a/drivers/crypto/caam/caamhash.c
+++ b/drivers/crypto/caam/caamhash.c
@@ -2161,8 +2161,17 @@ static int __init caam_algapi_hash_init(void)
return -ENODEV;
}
ctrldev = &pdev->dev;
- priv = dev_get_drvdata(ctrldev);
-
+ for (;;) {
+ priv = dev_get_drvdata(ctrldev);
+ if (priv)
+ break;
+ if (i++ > 10) {
+ of_node_put(dev_node);
+ return -ENODEV;
+ }
+ pr_info("waiting for driver to load\n");
+ msleep(100);
+ }
INIT_LIST_HEAD(&priv->hash_list);
atomic_set(&priv->tfm_count, -1);