We want to return negative error codes here, but we're accidentally propogating the "true" return from dma_mapping_error(). Fixes: 14fa93cdcd9b ("crypto: cavium - Add support for CNN55XX adapters.") Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> diff --git a/drivers/crypto/cavium/nitrox/nitrox_reqmgr.c b/drivers/crypto/cavium/nitrox/nitrox_reqmgr.c index b6bd2a870028..4bb4377c5ac0 100644 --- a/drivers/crypto/cavium/nitrox/nitrox_reqmgr.c +++ b/drivers/crypto/cavium/nitrox/nitrox_reqmgr.c @@ -199,9 +199,10 @@ static int dma_map_inbufs(struct nitrox_softreq *sr, sr->in.sglist = glist; /* map IV */ dma = dma_map_single(dev, &req->iv, req->ivsize, DMA_BIDIRECTIONAL); - ret = dma_mapping_error(dev, dma); - if (ret) + if (dma_mapping_error(dev, dma)) { + ret = -EINVAL; goto iv_map_err; + } sr->in.dir = (req->src == req->dst) ? DMA_BIDIRECTIONAL : DMA_TO_DEVICE; /* map src entries */ @@ -268,16 +269,18 @@ static int dma_map_outbufs(struct nitrox_softreq *sr, /* map ORH */ sr->resp.orh_dma = dma_map_single(dev, &sr->resp.orh, ORH_HLEN, sr->out.dir); - ret = dma_mapping_error(dev, sr->resp.orh_dma); - if (ret) + if (dma_mapping_error(dev, sr->resp.orh_dma)) { + ret = -EINVAL; goto orh_map_err; + } /* map completion */ sr->resp.completion_dma = dma_map_single(dev, &sr->resp.completion, COMP_HLEN, sr->out.dir); - ret = dma_mapping_error(dev, sr->resp.completion_dma); - if (ret) + if (dma_mapping_error(dev, sr->resp.completion_dma)) { + ret = -EINVAL; goto compl_map_err; + } sr->inplace = (req->src == req->dst) ? true : false; /* out place */