aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
authorMaxime Coquelin <mcoquelin.stm32@gmail.com>2016-05-26 05:34:57 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2016-05-31 04:41:57 -0400
commit1ff69adf747e75425d5e67df2f2ac866e7ebd165 (patch)
treeeec779e7de0daae449941334c2e0821dbb79009e /drivers/char
parentf6c60b15e13344998fdc16453d01a3192817751c (diff)
hwrng: stm32 - fix maybe uninitialized variable warning
This patch fixes the following warning: drivers/char/hw_random/stm32-rng.c: In function 'stm32_rng_read': drivers/char/hw_random/stm32-rng.c:82:19: warning: 'sr' may be used uninitialized in this function Reported-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk> Suggested-by: Arnd Bergmann <arnd@arndb.de> Cc: Daniel Thompson <daniel.thompson@linaro.org> Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com> Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/hw_random/stm32-rng.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/char/hw_random/stm32-rng.c b/drivers/char/hw_random/stm32-rng.c
index 92a810648bd0..63d84e6f1891 100644
--- a/drivers/char/hw_random/stm32-rng.c
+++ b/drivers/char/hw_random/stm32-rng.c
@@ -69,8 +69,12 @@ static int stm32_rng_read(struct hwrng *rng, void *data, size_t max, bool wait)
69 } 69 }
70 70
71 /* If error detected or data not ready... */ 71 /* If error detected or data not ready... */
72 if (sr != RNG_SR_DRDY) 72 if (sr != RNG_SR_DRDY) {
73 if (WARN_ONCE(sr & (RNG_SR_SEIS | RNG_SR_CEIS),
74 "bad RNG status - %x\n", sr))
75 writel_relaxed(0, priv->base + RNG_SR);
73 break; 76 break;
77 }
74 78
75 *(u32 *)data = readl_relaxed(priv->base + RNG_DR); 79 *(u32 *)data = readl_relaxed(priv->base + RNG_DR);
76 80
@@ -79,10 +83,6 @@ static int stm32_rng_read(struct hwrng *rng, void *data, size_t max, bool wait)
79 max -= sizeof(u32); 83 max -= sizeof(u32);
80 } 84 }
81 85
82 if (WARN_ONCE(sr & (RNG_SR_SEIS | RNG_SR_CEIS),
83 "bad RNG status - %x\n", sr))
84 writel_relaxed(0, priv->base + RNG_SR);
85
86 pm_runtime_mark_last_busy((struct device *) priv->rng.priv); 86 pm_runtime_mark_last_busy((struct device *) priv->rng.priv);
87 pm_runtime_put_sync_autosuspend((struct device *) priv->rng.priv); 87 pm_runtime_put_sync_autosuspend((struct device *) priv->rng.priv);
88 88