OSDN Git Service

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 4a6cc8a..bfc49e6 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,