Re: [PATCH 3/4] crypto: caamhash: add two missed dma_mapping_error

2015-03-02 Thread yjin


On 2015年03月02日 19:53, Horia Geantă wrote:

On 2/28/2015 8:00 AM, yanjiang@windriver.com wrote:

From: Yanjiang Jin yanjiang@windriver.com

Add two missed dma_mapping_error() after dma_map_single().

Signed-off-by: Yanjiang Jin yanjiang@windriver.com
---
  drivers/crypto/caam/caamhash.c | 8 
  1 file changed, 8 insertions(+)

diff --git a/drivers/crypto/caam/caamhash.c b/drivers/crypto/caam/caamhash.c
index f347ab7..f6ad322 100644
--- a/drivers/crypto/caam/caamhash.c
+++ b/drivers/crypto/caam/caamhash.c
@@ -160,6 +160,10 @@ static inline dma_addr_t map_seq_out_ptr_result(u32 *desc, 
struct device *jrdev,
dma_addr_t dst_dma;
  
  	dst_dma = dma_map_single(jrdev, result, digestsize, DMA_FROM_DEVICE);

+   if (dma_mapping_error(jrdev, dst_dma)) {
+   dev_err(jrdev, unable to map dst dma\n);
+   return -ENOMEM;
+   }
append_seq_out_ptr(desc, dst_dma, digestsize, 0);
  
  	return dst_dma;

Value returned by map_seq_out_ptr_result() - dst_dma - is always fed to
dma_mapping_error().
Note that using an invalid dst_dma in append_seq_out_ptr() doesn't break
anything, so it's ok to check dst_dma later.


@@ -173,6 +177,10 @@ static inline dma_addr_t buf_map_to_sec4_sg(struct device 
*jrdev,
dma_addr_t buf_dma;
  
  	buf_dma = dma_map_single(jrdev, buf, buflen, DMA_TO_DEVICE);

+   if (dma_mapping_error(jrdev, buf_dma)) {
+   dev_err(jrdev, unable to map buf dma\n);
+   return 0;
+   }
dma_to_sec4_sg_one(sec4_sg, buf_dma, buflen, 0);
  
  	return buf_dma;



These functions are expected to return dma_addr_t, not an error code.
If dma_mapping_error() is needed within their scope, the return type
will have to change. And return value will need to be checked by their
callers.

System run well without the above changes, so abandoned this patch in 
V2. Will do more test in the future.


Thanks!
Yanjiang





--
To unsubscribe from this list: send the line unsubscribe linux-crypto in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 3/4] crypto: caamhash: add two missed dma_mapping_error

2015-03-02 Thread Horia Geantă
On 2/28/2015 8:00 AM, yanjiang@windriver.com wrote:
 From: Yanjiang Jin yanjiang@windriver.com
 
 Add two missed dma_mapping_error() after dma_map_single().
 
 Signed-off-by: Yanjiang Jin yanjiang@windriver.com
 ---
  drivers/crypto/caam/caamhash.c | 8 
  1 file changed, 8 insertions(+)
 
 diff --git a/drivers/crypto/caam/caamhash.c b/drivers/crypto/caam/caamhash.c
 index f347ab7..f6ad322 100644
 --- a/drivers/crypto/caam/caamhash.c
 +++ b/drivers/crypto/caam/caamhash.c
 @@ -160,6 +160,10 @@ static inline dma_addr_t map_seq_out_ptr_result(u32 
 *desc, struct device *jrdev,
   dma_addr_t dst_dma;
  
   dst_dma = dma_map_single(jrdev, result, digestsize, DMA_FROM_DEVICE);
 + if (dma_mapping_error(jrdev, dst_dma)) {
 + dev_err(jrdev, unable to map dst dma\n);
 + return -ENOMEM;
 + }
   append_seq_out_ptr(desc, dst_dma, digestsize, 0);
  
   return dst_dma;

Value returned by map_seq_out_ptr_result() - dst_dma - is always fed to
dma_mapping_error().
Note that using an invalid dst_dma in append_seq_out_ptr() doesn't break
anything, so it's ok to check dst_dma later.

 @@ -173,6 +177,10 @@ static inline dma_addr_t buf_map_to_sec4_sg(struct 
 device *jrdev,
   dma_addr_t buf_dma;
  
   buf_dma = dma_map_single(jrdev, buf, buflen, DMA_TO_DEVICE);
 + if (dma_mapping_error(jrdev, buf_dma)) {
 + dev_err(jrdev, unable to map buf dma\n);
 + return 0;
 + }
   dma_to_sec4_sg_one(sec4_sg, buf_dma, buflen, 0);
  
   return buf_dma;
 

These functions are expected to return dma_addr_t, not an error code.
If dma_mapping_error() is needed within their scope, the return type
will have to change. And return value will need to be checked by their
callers.


--
To unsubscribe from this list: send the line unsubscribe linux-crypto in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 3/4] crypto: caamhash: add two missed dma_mapping_error

2015-02-27 Thread yanjiang.jin
From: Yanjiang Jin yanjiang@windriver.com

Add two missed dma_mapping_error() after dma_map_single().

Signed-off-by: Yanjiang Jin yanjiang@windriver.com
---
 drivers/crypto/caam/caamhash.c | 8 
 1 file changed, 8 insertions(+)

diff --git a/drivers/crypto/caam/caamhash.c b/drivers/crypto/caam/caamhash.c
index f347ab7..f6ad322 100644
--- a/drivers/crypto/caam/caamhash.c
+++ b/drivers/crypto/caam/caamhash.c
@@ -160,6 +160,10 @@ static inline dma_addr_t map_seq_out_ptr_result(u32 *desc, 
struct device *jrdev,
dma_addr_t dst_dma;
 
dst_dma = dma_map_single(jrdev, result, digestsize, DMA_FROM_DEVICE);
+   if (dma_mapping_error(jrdev, dst_dma)) {
+   dev_err(jrdev, unable to map dst dma\n);
+   return -ENOMEM;
+   }
append_seq_out_ptr(desc, dst_dma, digestsize, 0);
 
return dst_dma;
@@ -173,6 +177,10 @@ static inline dma_addr_t buf_map_to_sec4_sg(struct device 
*jrdev,
dma_addr_t buf_dma;
 
buf_dma = dma_map_single(jrdev, buf, buflen, DMA_TO_DEVICE);
+   if (dma_mapping_error(jrdev, buf_dma)) {
+   dev_err(jrdev, unable to map buf dma\n);
+   return 0;
+   }
dma_to_sec4_sg_one(sec4_sg, buf_dma, buflen, 0);
 
return buf_dma;
-- 
1.9.1

--
To unsubscribe from this list: send the line unsubscribe linux-crypto in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html