The return value of dma_map_single() should be checked by
dma_mapping_error(). However, in function ccp_init_dm_workarea(), its
return value is checked against NULL, which could result in failures.

Signed-off-by: Pan Bian <bianpan2...@163.com>
---
 drivers/crypto/ccp/ccp-ops.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/crypto/ccp/ccp-ops.c b/drivers/crypto/ccp/ccp-ops.c
index c0dfdac..ca83d19 100644
--- a/drivers/crypto/ccp/ccp-ops.c
+++ b/drivers/crypto/ccp/ccp-ops.c
@@ -168,7 +168,7 @@ static int ccp_init_dm_workarea(struct ccp_dm_workarea *wa,
 
                wa->dma.address = dma_map_single(wa->dev, wa->address, len,
                                                 dir);
-               if (!wa->dma.address)
+               if (dma_mapping_error(wa->dev, wa->dma.address))
                        return -ENOMEM;
 
                wa->dma.length = len;
-- 
1.9.1


Reply via email to