crypto: caam - Contain caam_jr_strstatus() ugliness
[cascardo/linux.git] / drivers / crypto / caam / caamhash.c
index 0378328..0d9284e 100644 (file)
@@ -545,7 +545,8 @@ static int ahash_setkey(struct crypto_ahash *ahash,
                                      DMA_TO_DEVICE);
        if (dma_mapping_error(jrdev, ctx->key_dma)) {
                dev_err(jrdev, "unable to map key i/o memory\n");
-               return -ENOMEM;
+               ret = -ENOMEM;
+               goto map_err;
        }
 #ifdef DEBUG
        print_hex_dump(KERN_ERR, "ctx.key@"__stringify(__LINE__)": ",
@@ -559,6 +560,7 @@ static int ahash_setkey(struct crypto_ahash *ahash,
                                 DMA_TO_DEVICE);
        }
 
+map_err:
        kfree(hashed_key);
        return ret;
 badkey:
@@ -631,11 +633,8 @@ static void ahash_done(struct device *jrdev, u32 *desc, u32 err,
 
        edesc = (struct ahash_edesc *)((char *)desc -
                 offsetof(struct ahash_edesc, hw_desc));
-       if (err) {
-               char tmp[CAAM_ERROR_STR_MAX];
-
-               dev_err(jrdev, "%08x: %s\n", err, caam_jr_strstatus(tmp, err));
-       }
+       if (err)
+               caam_jr_strstatus(jrdev, err);
 
        ahash_unmap(jrdev, edesc, req, digestsize);
        kfree(edesc);
@@ -669,11 +668,8 @@ static void ahash_done_bi(struct device *jrdev, u32 *desc, u32 err,
 
        edesc = (struct ahash_edesc *)((char *)desc -
                 offsetof(struct ahash_edesc, hw_desc));
-       if (err) {
-               char tmp[CAAM_ERROR_STR_MAX];
-
-               dev_err(jrdev, "%08x: %s\n", err, caam_jr_strstatus(tmp, err));
-       }
+       if (err)
+               caam_jr_strstatus(jrdev, err);
 
        ahash_unmap_ctx(jrdev, edesc, req, ctx->ctx_len, DMA_BIDIRECTIONAL);
        kfree(edesc);
@@ -707,11 +703,8 @@ static void ahash_done_ctx_src(struct device *jrdev, u32 *desc, u32 err,
 
        edesc = (struct ahash_edesc *)((char *)desc -
                 offsetof(struct ahash_edesc, hw_desc));
-       if (err) {
-               char tmp[CAAM_ERROR_STR_MAX];
-
-               dev_err(jrdev, "%08x: %s\n", err, caam_jr_strstatus(tmp, err));
-       }
+       if (err)
+               caam_jr_strstatus(jrdev, err);
 
        ahash_unmap_ctx(jrdev, edesc, req, digestsize, DMA_FROM_DEVICE);
        kfree(edesc);
@@ -745,11 +738,8 @@ static void ahash_done_ctx_dst(struct device *jrdev, u32 *desc, u32 err,
 
        edesc = (struct ahash_edesc *)((char *)desc -
                 offsetof(struct ahash_edesc, hw_desc));
-       if (err) {
-               char tmp[CAAM_ERROR_STR_MAX];
-
-               dev_err(jrdev, "%08x: %s\n", err, caam_jr_strstatus(tmp, err));
-       }
+       if (err)
+               caam_jr_strstatus(jrdev, err);
 
        ahash_unmap_ctx(jrdev, edesc, req, ctx->ctx_len, DMA_TO_DEVICE);
        kfree(edesc);