Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

crypto: xilinx - Return linux error code instead of firmware error code

Convert FW error code to linux error code and remove dmesg error print for
authentication tag mismatch failure.

Signed-off-by: Harsh Jain <h.jain@amd.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Harsh Jain and committed by
Herbert Xu
349f0d32 75578e5c

+7 -7
+7 -7
drivers/crypto/xilinx/zynqmp-aes-gcm.c
··· 85 85 int ret; 86 86 size_t dma_size; 87 87 char *kbuf; 88 - int err; 89 88 90 89 if (tfm_ctx->keysrc == ZYNQMP_AES_KUP_KEY) 91 90 dma_size = req->cryptlen + ZYNQMP_AES_KEY_SIZE ··· 131 132 132 133 if (ret) { 133 134 dev_err(dev, "ERROR: AES PM API failed\n"); 134 - err = ret; 135 135 } else if (status) { 136 136 switch (status) { 137 137 case ZYNQMP_AES_GCM_TAG_MISMATCH_ERR: 138 - dev_err(dev, "ERROR: Gcm Tag mismatch\n"); 138 + ret = -EBADMSG; 139 139 break; 140 140 case ZYNQMP_AES_WRONG_KEY_SRC_ERR: 141 + ret = -EINVAL; 141 142 dev_err(dev, "ERROR: Wrong KeySrc, enable secure mode\n"); 142 143 break; 143 144 case ZYNQMP_AES_PUF_NOT_PROGRAMMED: 145 + ret = -EINVAL; 144 146 dev_err(dev, "ERROR: PUF is not registered\n"); 145 147 break; 146 148 default: 147 - dev_err(dev, "ERROR: Unknown error\n"); 149 + ret = -EINVAL; 148 150 break; 149 151 } 150 - err = -status; 151 152 } else { 152 153 if (hwreq->op == ZYNQMP_AES_ENCRYPT) 153 154 data_size = data_size + ZYNQMP_AES_AUTH_SIZE; ··· 156 157 157 158 sg_copy_from_buffer(req->dst, sg_nents(req->dst), 158 159 kbuf, data_size); 159 - err = 0; 160 + ret = 0; 160 161 } 161 162 162 163 if (kbuf) { ··· 168 169 dma_free_coherent(dev, sizeof(struct zynqmp_aead_hw_req), 169 170 hwreq, dma_addr_hw_req); 170 171 } 171 - return err; 172 + 173 + return ret; 172 174 } 173 175 174 176 static int zynqmp_fallback_check(struct zynqmp_aead_tfm_ctx *tfm_ctx,