linux_dsm_epyc7002/drivers/char/hw_random
Gary R Hook 0e4b52942b hwrng: core - Clean up RNG list when last hwrng is unregistered
Commit 142a27f0a7 added support for a "best" RNG, and in doing so
introduced a hang from rmmod/modprobe -r when the last RNG on the list
was unloaded.

When the hwrng list is depleted, return the global variables to their
original state and decrement all references to the object.

Fixes: 142a27f0a7 ("hwrng: core - Reset user selected rng by writing "" to rng_current")
Signed-off-by: Gary R Hook <gary.hook@amd.com>
Reviewed-by: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2017-12-22 20:03:36 +11:00
..
amd-rng.c hwrng: amd - Revert managed API changes 2017-03-16 17:43:10 +08:00
atmel-rng.c hwrng: atmel - use clk_disable_unprepare instead of clk_disable 2016-11-17 23:34:57 +08:00
bcm2835-rng.c hwrng: bcm2835 - Enable BCM2835 RNG to work on BCM63xx platforms 2017-11-29 16:43:48 +11:00
cavium-rng-vf.c hwrng: cavium - Use per device name to allow for multiple devices. 2017-02-11 17:52:30 +08:00
cavium-rng.c hwrng: cavium - Add Cavium HWRNG driver for ThunderX SoC. 2016-08-31 23:00:40 +08:00
core.c hwrng: core - Clean up RNG list when last hwrng is unregistered 2017-12-22 20:03:36 +11:00
geode-rng.c hwrng: geode - Revert managed API changes 2017-03-16 17:43:11 +08:00
hisi-rng.c hwrng: hisi - Add support for Hisilicon SoC RNG 2016-04-15 22:36:36 +08:00
imx-rngc.c hwrng: mx-rngc - add a driver for Freescale RNGC 2017-08-03 14:00:21 +08:00
intel-rng.c hwrng: printk replacement 2014-10-02 14:35:00 +08:00
iproc-rng200.c hwrng: iproc-rng200 - Add support for BCM7278 2017-11-10 19:20:12 +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 hwrng: bcm63xx - Remove since bcm2835-rng takes over 2017-11-29 16:43:48 +11:00
Makefile hwrng: bcm63xx - Remove since bcm2835-rng takes over 2017-11-29 16:43:48 +11:00
meson-rng.c hwrng: meson - add clock handling to driver 2017-03-16 17:58:49 +08:00
msm-rng.c hwrng: Make explicit that max >= 32 always 2016-11-21 22:50:45 +08:00
mtk-rng.c hwrng: mtk - add runtime PM support 2017-06-20 11:21:28 +08:00
mxc-rnga.c hwrng: mxc-rnga - Use the preferred format for kzalloc 2015-09-21 22:00:39 +08: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 - Use devm_kcalloc() in n2rng_probe() 2017-04-21 20:30:47 +08: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 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2014-04-03 09:28:16 -07:00
octeon-rng.c hwrng: octeon - Use devm_hwrng_register 2015-09-21 22:00:38 +08:00
omap3-rom-rng.c hwrng: omap3-rom - Handle return value of clk_prepare_enable 2017-05-23 12:52:03 +08:00
omap-rng.c hwrng: omap - move clock related code to omap_rng_probe() 2017-03-16 17:58:50 +08:00
pasemi-rng.c hwrng: pasemi - Use linux/io.h instead of asm/io.h 2016-09-13 20:27:21 +08:00
pic32-rng.c hwrng: Make explicit that max >= 32 always 2016-11-21 22:50:45 +08:00
powernv-rng.c char: constify of_device_id array 2015-03-16 21:10:28 +01:00
pseries-rng.c hwrng: pseries - constify vio_device_id 2017-09-22 17:43:05 +08:00
s390-trng.c s390/trng: Introduce s390 TRNG device driver. 2017-04-26 13:41:36 +02:00
st-rng.c hwrng: st - Fix missing clk_disable_unprepare() on error in st_rng_probe() 2016-09-13 20:27:24 +08:00
stm32-rng.c hwrng: stm32 - fix maybe uninitialized variable warning 2016-05-31 16:41:57 +08:00
timeriomem-rng.c hwrng: timeriomem - Remove 'max < 4' condition check 2017-09-22 17:43:14 +08:00
tpm-rng.c hw_random: add support for the TPM chip as a hardware RNG source 2012-08-22 11:11:41 -05:00
tx4939-rng.c hwrng: tx4939 - Use devm_hwrng_register instead of hwrng_register 2016-08-31 23:00:49 +08:00
via-rng.c x86/fpu: Remove irq_ts_save() and irq_ts_restore() 2016-11-01 07:47:54 +01:00
virtio-rng.c hwrng: virtio - Virtio RNG devices need to be re-registered after suspend/resume 2017-11-06 14:45:06 +08:00
xgene-rng.c hwrng: xgene - Convert timers to use timer_setup() 2017-11-03 22:11:16 +08:00