RE: [PATCH] sound: fsl: add missing put_device() call in imx_hdmi_probe()
From: Wang Qing wangqing@vivo.com
of_find_device_by_node() takes a reference to the embedded struct device which needs to be dropped when error return.
...
data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL); if (!data) { + put_device(&cpu_pdev->dev);
If it's of_find_device_by_node() you need an of_node_put() since you're dropping a reference on the OF node.
Label fail will drop a reference on the OF node. Also, put_device() is called later except this branch, we just need to add put_device() here.
Thanks, Qing
ret = -ENOMEM; goto fail;
On Thu, Dec 9, 2021 at 5:58 PM 王擎 wangqing@vivo.com wrote:
From: Wang Qing wangqing@vivo.com
of_find_device_by_node() takes a reference to the embedded struct device which needs to be dropped when error return.
...
data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL); if (!data) {
put_device(&cpu_pdev->dev);
If it's of_find_device_by_node() you need an of_node_put() since you're dropping a reference on the OF node.
Label fail will drop a reference on the OF node. Also, put_device() is called later except this branch, we just need to add put_device() here.
I agree with you. But could you please add the info in this commit that the commit: f670b274f7f6 ASoC: imx-hdmi: add put_device() after of_find_device_by_node() is partially fixing the original issue, so we still need this fix.
Best regards Wang Shengjiu
participants (2)
-
Shengjiu Wang
-
王擎