crypto: stm32/hash - Fix self test issue during export
authorLionel Debieve <lionel.debieve@st.com>
Mon, 8 Apr 2019 07:41:58 +0000 (09:41 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Thu, 18 Apr 2019 14:14:57 +0000 (22:14 +0800)
Change the wait condition to check if the hash is busy.
Context can be saved as soon as hash has finishing processing
data. Remove unused lock in the device structure.

Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/stm32/stm32-hash.c

index 4a6cc8a3045d4608e8747185a8d82572741a8837..bfc49e67124bb8ef21a9c20b2fca4f630511ef4e 100644 (file)
@@ -181,8 +181,6 @@ struct stm32_hash_dev {
        u32                     dma_mode;
        u32                     dma_maxburst;
 
-       spinlock_t              lock; /* lock to protect queue */
-
        struct ahash_request    *req;
        struct crypto_engine    *engine;
 
@@ -977,7 +975,7 @@ static int stm32_hash_export(struct ahash_request *req, void *out)
 
        pm_runtime_get_sync(hdev->dev);
 
-       while (!(stm32_hash_read(hdev, HASH_SR) & HASH_SR_DATA_INPUT_READY))
+       while ((stm32_hash_read(hdev, HASH_SR) & HASH_SR_BUSY))
                cpu_relax();
 
        rctx->hw_context = kmalloc_array(3 + HASH_CSR_REGISTER_NUMBER,