Hi Gary, Some minor comments below. On 16 December 2017 at 01:25, Gary R Hook <gary.hook@xxxxxxx> wrote: > > Commit 142a27f0a731 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. Nice catch. Thanks for fixing this. > When the hwrng list is depleted, return the global variables to their > original state and decrement all references to the object. > > Fixes: 142a27f0a731 ("hwrng: core - Reset user selected rng by writing "" to rng_current") Please cc the commit author (in this case its me) so that this patch gets noticed easily. > Signed-off-by: Gary R Hook <gary.hook@xxxxxxx> > --- > > Changes since v1: fix misspelled word in subject > > drivers/char/hw_random/core.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c > index 657b8770b6b9..91bb98c42a1c 100644 > --- a/drivers/char/hw_random/core.c > +++ b/drivers/char/hw_random/core.c > @@ -306,6 +306,10 @@ static int enable_best_rng(void) > ret = ((new_rng == current_rng) ? 0 : set_current_rng(new_rng)); > if (!ret) > cur_rng_set_by_user = 0; > + } else { > + drop_current_rng(); When the hwrng list is empty just set current_rng = NULL instead of calling drop_current_rng(). > + cur_rng_set_by_user = 0; > + ret = 0; > } > > return ret; > Regards, PrasannaKumar