diff options
author | Maxime Coquelin <mcoquelin.stm32@gmail.com> | 2016-05-26 05:34:57 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2016-05-31 04:41:57 -0400 |
commit | 1ff69adf747e75425d5e67df2f2ac866e7ebd165 (patch) | |
tree | eec779e7de0daae449941334c2e0821dbb79009e /drivers/char | |
parent | f6c60b15e13344998fdc16453d01a3192817751c (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.c | 10 |
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 | ||