linux/drivers/char/hw_random
Jorge Ramirez-Ortiz c0f6eebedd hwrng: optee - fix wait use case
The current code waits for data to be available before attempting a
second read. However the second read would not be executed as the
while loop will exit.

This fix does not wait if all data has been read (skips the call to
msleep(0)) and reads a second time if partial data was retrieved on
the first read.

Worth noticing that since msleep(0) schedules a one jiffy timeout is
better to skip such a call.

Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2020-08-21 14:45:28 +10:00
..
amd-rng.c hwrng: amd - Revert managed API changes 2017-03-16 17:43:10 +08:00
atmel-rng.c hwrng: atmel - add new platform support for sam9x60 2019-11-15 13:44:17 +08:00
ba431-rng.c hwrng: ba431 - Include kernel.h 2020-07-16 21:49:01 +10:00
bcm2835-rng.c hwrng: bcm2835 - Constify bcm2835_rng_devtype[] 2020-07-09 18:25:21 +10:00
cavium-rng-vf.c hwrng: drivers - Use device-managed registration API 2019-08-02 14:44:33 +10:00
cavium-rng.c hwrng: cavium - make two functions static 2018-03-09 22:45:34 +08:00
cctrng.c hwrng: cctrng - Make some symbols static 2020-04-30 15:19:34 +10:00
cctrng.h hwrng: cctrng - introduce Arm CryptoCell driver 2020-04-16 16:49:20 +10:00
core.c hwrng: core - remove redundant initialization of variable ret 2020-07-31 18:25:29 +10:00
exynos-trng.c hwrng: exynos - use devm_platform_ioremap_resource() to simplify code 2019-10-26 02:09:53 +11:00
geode-rng.c hwrng: geode - Revert managed API changes 2017-03-16 17:43:11 +08:00
hisi-rng.c hwrng: hisi - Fix W=1 unused variable warning 2020-07-09 18:25:12 +10:00
hisi-trng-v2.c hwrng: hisi - add HiSilicon TRNG driver support 2019-11-08 23:15:51 +08:00
imx-rngc.c hwrng: imx-rngc - simplify interrupt mask/unmask 2020-03-12 23:00:15 +11:00
ingenic-rng.c crypto: ingenic - Add hardware RNG for Ingenic JZ4780 and X1000 2020-07-31 18:25:28 +10:00
intel-rng.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
iproc-rng200.c hwrng: iproc-rng200 - Add support for BCM2711 2019-12-11 16:34:45 +08:00
ixp4xx-rng.c IXP4xx: HW pseudo-random generator is available on IXP45x/46x only. 2012-11-22 03:35:39 +00:00
Kconfig crypto: ingenic - Add hardware RNG for Ingenic JZ4780 and X1000 2020-07-31 18:25:28 +10:00
ks-sa-rng.c hwrng: ks-sa - Replace HTTP links with HTTPS ones 2020-07-16 21:49:06 +10:00
Makefile crypto: ingenic - Add hardware RNG for Ingenic JZ4780 and X1000 2020-07-31 18:25:28 +10:00
meson-rng.c hwrng: meson - use devm_platform_ioremap_resource() to simplify code 2019-10-26 02:09:55 +11:00
mtk-rng.c hwrng: mediatek - Use devm_platform_ioremap_resource() in mtk_rng_probe() 2019-10-05 01:06:18 +10:00
mxc-rnga.c hwrng: mxc-rnga - use devm_platform_ioremap_resource() to simplify code 2019-07-27 21:08:32 +10:00
n2-asm.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
n2-drv.c hwrng: n2-drv - fix typo 2019-08-08 12:07:49 +10:00
n2rng.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nomadik-rng.c hwrng: nomadik - Constify nmk_rng_ids[] 2020-07-09 18:25:21 +10:00
npcm-rng.c hwrng: npcm - Fix W=1 unused variable warning 2020-07-09 18:25:11 +10:00
octeon-rng.c hwrng: octeon - Fix sparse warnings 2020-07-09 18:25:14 +10:00
omap3-rom-rng.c change email address for Pali Rohár 2020-04-10 15:36:22 -07:00
omap-rng.c hwrng: omap - Fix W=1 unused variable warning 2020-07-09 18:25:11 +10:00
optee-rng.c hwrng: optee - fix wait use case 2020-08-21 14:45:28 +10:00
pasemi-rng.c hwrng: pasemi - use devm_platform_ioremap_resource() to simplify code 2019-10-26 02:09:56 +11:00
pic32-rng.c hwrng: pic32 - Fix W=1 unused variable warning 2020-07-09 18:25:13 +10:00
powernv-rng.c hwrng: drivers - Use device-managed registration API 2019-08-02 14:44:33 +10:00
pseries-rng.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333 2019-06-05 17:37:06 +02:00
s390-trng.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 376 2019-06-05 17:37:10 +02:00
st-rng.c hwrng: st - Fix W=1 unused variable warning 2020-07-09 18:25:12 +10:00
stm32-rng.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 110 2019-05-24 17:39:01 +02:00
timeriomem-rng.c hwrng: timeriomem - relax check on memory resource size 2019-09-05 14:37:30 +10:00
tx4939-rng.c hwrng: tx4939 - use devm_platform_ioremap_resource() to simplify code 2019-10-26 02:09:57 +11:00
via-rng.c hwrng: via_rng: Convert to new X86 CPU match macros 2020-03-24 21:36:26 +01:00
virtio-rng.c hwrng: virtio - Constify id_table[] 2020-07-09 18:25:21 +10:00
xgene-rng.c hwrng: xgene - Delete an error message in xgene_rng_probe() 2020-04-16 16:49:22 +10:00