devres_release can return -ENOENT if the device is not freed. The fix
throws a warning consistent with other invocations.
Signed-off-by: Aditya Pakki <[email protected]>
---
drivers/char/hw_random/core.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c
index 95be7228f327..582d983fa93f 100644
--- a/drivers/char/hw_random/core.c
+++ b/drivers/char/hw_random/core.c
@@ -578,7 +578,11 @@ EXPORT_SYMBOL_GPL(devm_hwrng_register);
void devm_hwrng_unregister(struct device *dev, struct hwrng *rng)
{
- devres_release(dev, devm_hwrng_release, devm_hwrng_match, rng);
+ int rc;
+
+ rc = devres_release(dev, devm_hwrng_release, devm_hwrng_match, rng);
+ if (rc)
+ WARN_ON(rc);
}
EXPORT_SYMBOL_GPL(devm_hwrng_unregister);
--
2.17.1
On Wed, Dec 26, 2018 at 11:23:31AM -0600, Aditya Pakki wrote:
> devres_release can return -ENOENT if the device is not freed. The fix
> throws a warning consistent with other invocations.
>
> Signed-off-by: Aditya Pakki <[email protected]>
Well why not
Acked-by: Michael S. Tsirkin <[email protected]>
> ---
> drivers/char/hw_random/core.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c
> index 95be7228f327..582d983fa93f 100644
> --- a/drivers/char/hw_random/core.c
> +++ b/drivers/char/hw_random/core.c
> @@ -578,7 +578,11 @@ EXPORT_SYMBOL_GPL(devm_hwrng_register);
>
> void devm_hwrng_unregister(struct device *dev, struct hwrng *rng)
> {
> - devres_release(dev, devm_hwrng_release, devm_hwrng_match, rng);
> + int rc;
> +
> + rc = devres_release(dev, devm_hwrng_release, devm_hwrng_match, rng);
> + if (rc)
> + WARN_ON(rc);
> }
> EXPORT_SYMBOL_GPL(devm_hwrng_unregister);
>
> --
> 2.17.1
On Wed, 26 Dec 2018 11:23:31 -0600
Aditya Pakki <[email protected]> wrote:
> devres_release can return -ENOENT if the device is not freed. The fix
> throws a warning consistent with other invocations.
>
> Signed-off-by: Aditya Pakki <[email protected]>
> ---
> drivers/char/hw_random/core.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c
> index 95be7228f327..582d983fa93f 100644
> --- a/drivers/char/hw_random/core.c
> +++ b/drivers/char/hw_random/core.c
> @@ -578,7 +578,11 @@ EXPORT_SYMBOL_GPL(devm_hwrng_register);
>
> void devm_hwrng_unregister(struct device *dev, struct hwrng *rng)
> {
> - devres_release(dev, devm_hwrng_release, devm_hwrng_match, rng);
> + int rc;
> +
> + rc = devres_release(dev, devm_hwrng_release, devm_hwrng_match, rng);
> + if (rc)
The if statement is redundant and can be removed.
> + WARN_ON(rc);
> }
> EXPORT_SYMBOL_GPL(devm_hwrng_unregister);
>
--
Michael