]>
Commit | Line | Data |
---|---|---|
98619949 GKH |
1 | From ad8529fde9e3601180a839867a8ab041109aebb5 Mon Sep 17 00:00:00 2001 |
2 | From: Dave Gerlach <d-gerlach@ti.com> | |
3 | Date: Tue, 20 Sep 2016 10:25:40 -0500 | |
4 | Subject: hwrng: omap - Only fail if pm_runtime_get_sync returns < 0 | |
5 | ||
6 | From: Dave Gerlach <d-gerlach@ti.com> | |
7 | ||
8 | commit ad8529fde9e3601180a839867a8ab041109aebb5 upstream. | |
9 | ||
10 | Currently omap-rng checks the return value of pm_runtime_get_sync and | |
11 | reports failure if anything is returned, however it should be checking | |
12 | if ret < 0 as pm_runtime_get_sync return 0 on success but also can return | |
13 | 1 if the device was already active which is not a failure case. Only | |
14 | values < 0 are actual failures. | |
15 | ||
16 | Fixes: 61dc0a446e5d ("hwrng: omap - Fix assumption that runtime_get_sync will always succeed") | |
17 | Signed-off-by: Dave Gerlach <d-gerlach@ti.com> | |
18 | Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> | |
19 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
20 | ||
21 | --- | |
22 | drivers/char/hw_random/omap-rng.c | 4 ++-- | |
23 | 1 file changed, 2 insertions(+), 2 deletions(-) | |
24 | ||
25 | --- a/drivers/char/hw_random/omap-rng.c | |
26 | +++ b/drivers/char/hw_random/omap-rng.c | |
27 | @@ -385,7 +385,7 @@ static int omap_rng_probe(struct platfor | |
28 | ||
29 | pm_runtime_enable(&pdev->dev); | |
30 | ret = pm_runtime_get_sync(&pdev->dev); | |
31 | - if (ret) { | |
32 | + if (ret < 0) { | |
33 | dev_err(&pdev->dev, "Failed to runtime_get device: %d\n", ret); | |
34 | pm_runtime_put_noidle(&pdev->dev); | |
35 | goto err_ioremap; | |
36 | @@ -443,7 +443,7 @@ static int __maybe_unused omap_rng_resum | |
37 | int ret; | |
38 | ||
39 | ret = pm_runtime_get_sync(dev); | |
40 | - if (ret) { | |
41 | + if (ret < 0) { | |
42 | dev_err(dev, "Failed to runtime_get device: %d\n", ret); | |
43 | pm_runtime_put_noidle(dev); | |
44 | return ret; |