Message ID | 1426625966-22187-1-git-send-email-dramasub@codeaurora.org (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c index 30b538d8..bee59db 100644 --- a/drivers/devfreq/devfreq.c +++ b/drivers/devfreq/devfreq.c @@ -399,7 +399,8 @@ static void _remove_devfreq(struct devfreq *devfreq) mutex_lock(&devfreq_list_lock); if (IS_ERR(find_device_devfreq(devfreq->dev.parent))) { mutex_unlock(&devfreq_list_lock); - dev_warn(&devfreq->dev, "releasing devfreq which doesn't exist\n"); + if (!skip) + dev_warn(&devfreq->dev, "releasing devfreq which doesn't exist\n"); return; } list_del(&devfreq->node);
The misleading log "releasing devfreq which doesn't exist" prints out for well behaved clients. This is due to the fact that _remove_devfreq calls itself recursively by proxy (via put_device()). The second time _devfreq_remove is called the respective device has already been deleted, causing the misleading warning. So just skip printing the message if _devfreq_remove was called via put_device(). Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org> --- drivers/devfreq/devfreq.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)