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 <drama...@codeaurora.org>
---
 drivers/devfreq/devfreq.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

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 Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to