Thread (16 messages) 16 messages, 3 authors, 2021-07-06

Re: [PATCH 2/3] dmaengine: usb-dmac: Fix PM reference leak in usb_dmac_probe()

From: Johan Hovold <johan@kernel.org>
Date: 2021-06-07 08:06:57
Also in: dmaengine, lkml

On Thu, Jun 03, 2021 at 04:39:08PM +0530, Vinod Koul wrote:
On 31-05-21, 11:19, Johan Hovold wrote:
quoted
On Mon, May 31, 2021 at 02:27:34PM +0530, Vinod Koul wrote:
quoted
On 31-05-21, 14:11, yukuai (C) wrote:
quoted
On 2021/05/31 12:00, Vinod Koul wrote:
quoted
On 17-05-21, 16:18, Yu Kuai wrote:
quoted
pm_runtime_get_sync will increment pm usage counter even it failed.
Forgetting to putting operation will result in reference leak here.
Fix it by replacing it with pm_runtime_resume_and_get to keep usage
counter balanced.
quoted
quoted
Yes the rumtime_pm is disabled on failure here and the count would have
no consequence...
You should still balance the PM usage counter as it isn't reset for
example when reloading the driver.
Should I driver trust that on load PM usage counter is balanced and not
to be reset..?
Not sure what you're asking here. But a driver should never leave the PM
usage counter unbalanced.
quoted
Using pm_runtime_resume_and_get() is one way of handling this, but
alternatively you could also move the error_pm label above the
pm_runtime_put() in the error path.
That would be a better way I think
Johan

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help