diff options
author | Troy Kisky <troy.kisky@boundarydevices.com> | 2014-08-21 15:24:23 -0700 |
---|---|---|
committer | Max Krummenacher <max.krummenacher@toradex.com> | 2015-06-23 13:02:01 +0200 |
commit | 71202f35d1049d82925518ff9adbc2aa4ed4a955 (patch) | |
tree | ea535e22b601b2f2f48e5da3f3b5e2f24318fccb | |
parent | ddb9f9cd23069a115433f8b0f243289a9f4fa1d7 (diff) |
caamhash: wait for driver data available
-rw-r--r-- | drivers/crypto/caam/caamhash.c | 13 |
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); |