summaryrefslogtreecommitdiffstats
path: root/drivers/char/hw_random
diff options
context:
space:
mode:
authorRusty Russell2014-12-08 09:50:39 +0100
committerHerbert Xu2014-12-22 13:02:40 +0100
commitebbbfa248389b176e2e62d8cf91814253849ccc9 (patch)
tree8f68d43898fc9bb1fccfdb931e4192f9553fd64b /drivers/char/hw_random
parenthwrng: fix unregister race. (diff)
downloadkernel-qcow2-linux-ebbbfa248389b176e2e62d8cf91814253849ccc9.tar.gz
kernel-qcow2-linux-ebbbfa248389b176e2e62d8cf91814253849ccc9.tar.xz
kernel-qcow2-linux-ebbbfa248389b176e2e62d8cf91814253849ccc9.zip
hwrng: don't double-check old_rng.
Interesting anti-pattern. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/char/hw_random')
-rw-r--r--drivers/char/hw_random/core.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c
index 8d609a026465..e384ee3ed604 100644
--- a/drivers/char/hw_random/core.c
+++ b/drivers/char/hw_random/core.c
@@ -472,14 +472,13 @@ int hwrng_register(struct hwrng *rng)
}
old_rng = current_rng;
+ err = 0;
if (!old_rng) {
err = hwrng_init(rng);
if (err)
goto out_unlock;
set_current_rng(rng);
- }
- err = 0;
- if (!old_rng) {
+
err = register_miscdev();
if (err) {
drop_current_rng();