commit 225ece3e7dad4cfc44cca38ce7a3a80f255ea8f1 upstream.
In case DECO0 cannot be acquired - i.e. run_descriptor_deco0() fails
with -ENODEV, caam_probe() enters an endless loop:
run_descriptor_deco0
ret -ENODEV
-> instantiate_rng
-ENODEV, overwritten by -EAGAIN
ret -EAGAIN
-> caam_probe
-EAGAIN results in endless loop
It turns out the error path in instantiate_rng() is incorrect,
the checks are done in the wrong order.
Fixes:
|
||
---|---|---|
.. | ||
amcc | ||
caam | ||
ccp | ||
marvell | ||
nx | ||
qat | ||
qce | ||
sunxi-ss | ||
ux500 | ||
vmx | ||
atmel-aes-regs.h | ||
atmel-aes.c | ||
atmel-sha-regs.h | ||
atmel-sha.c | ||
atmel-tdes-regs.h | ||
atmel-tdes.c | ||
bfin_crc.c | ||
bfin_crc.h | ||
geode-aes.c | ||
geode-aes.h | ||
hifn_795x.c | ||
img-hash.c | ||
ixp4xx_crypto.c | ||
Kconfig | ||
Makefile | ||
mv_cesa.c | ||
mv_cesa.h | ||
mxs-dcp.c | ||
n2_asm.S | ||
n2_core.c | ||
n2_core.h | ||
omap-aes.c | ||
omap-des.c | ||
omap-sham.c | ||
padlock-aes.c | ||
padlock-sha.c | ||
picoxcell_crypto_regs.h | ||
picoxcell_crypto.c | ||
s5p-sss.c | ||
sahara.c | ||
talitos.c | ||
talitos.h |