summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);