403c439214
[ Upstream commit 89332590427235680236b9470e851afc49b3caa1 ] When performing a transformation the hardware is given result descriptors to save the result data. Those result descriptors are batched using a 'first' and a 'last' bit. There are cases were more descriptors than needed are given to the engine, leading to the engine only using some of them, and not setting the last bit on the last descriptor we gave. This causes issues were the driver and the hardware aren't in sync anymore about the number of result descriptors given (as the driver do not give a pool of descriptor to use for any transformation, but a pool of descriptors to use *per* transformation). This patch fixes it by attaching the number of given result descriptors to the requests, and by using this number instead of the 'last' bit found on the descriptors to process them. Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
---|---|---|
.. | ||
amcc | ||
axis | ||
bcm | ||
caam | ||
cavium | ||
ccp | ||
ccree | ||
chelsio | ||
hisilicon | ||
inside-secure | ||
marvell | ||
mediatek | ||
nx | ||
qat | ||
qce | ||
rockchip | ||
stm32 | ||
sunxi-ss | ||
ux500 | ||
virtio | ||
vmx | ||
atmel-aes-regs.h | ||
atmel-aes.c | ||
atmel-authenc.h | ||
atmel-ecc.c | ||
atmel-ecc.h | ||
atmel-sha-regs.h | ||
atmel-sha.c | ||
atmel-tdes-regs.h | ||
atmel-tdes.c | ||
exynos-rng.c | ||
geode-aes.c | ||
geode-aes.h | ||
hifn_795x.c | ||
img-hash.c | ||
ixp4xx_crypto.c | ||
Kconfig | ||
Makefile | ||
mxc-scc.c | ||
mxs-dcp.c | ||
n2_asm.S | ||
n2_core.c | ||
n2_core.h | ||
omap-aes-gcm.c | ||
omap-aes.c | ||
omap-aes.h | ||
omap-crypto.c | ||
omap-crypto.h | ||
omap-des.c | ||
omap-sham.c | ||
padlock-aes.c | ||
padlock-sha.c | ||
picoxcell_crypto.c | ||
picoxcell_crypto_regs.h | ||
qcom-rng.c | ||
s5p-sss.c | ||
sahara.c | ||
talitos.c | ||
talitos.h |