lkml.org 
[lkml]   [2020]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.9 166/757] media: rcar-vin: Fix a reference count leak.
    Date
    From: Qiushi Wu <wu000273@umn.edu>

    [ Upstream commit aaffa0126a111d65f4028c503c76192d4cc93277 ]

    pm_runtime_get_sync() increments the runtime PM usage counter even
    when it returns an error code. Thus call pm_runtime_put_noidle()
    if pm_runtime_get_sync() fails.

    Fixes: 90dedce9bc54 ("media: rcar-vin: add function to manipulate Gen3 chsel value")
    Signed-off-by: Qiushi Wu <wu000273@umn.edu>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/media/platform/rcar-vin/rcar-dma.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    diff --git a/drivers/media/platform/rcar-vin/rcar-dma.c b/drivers/media/platform/rcar-vin/rcar-dma.c
    index a5dbb90c5210b..260604dc5791b 100644
    --- a/drivers/media/platform/rcar-vin/rcar-dma.c
    +++ b/drivers/media/platform/rcar-vin/rcar-dma.c
    @@ -1409,8 +1409,10 @@ int rvin_set_channel_routing(struct rvin_dev *vin, u8 chsel)
    int ret;

    ret = pm_runtime_get_sync(vin->dev);
    - if (ret < 0)
    + if (ret < 0) {
    + pm_runtime_put_noidle(vin->dev);
    return ret;
    + }

    /* Make register writes take effect immediately. */
    vnmc = rvin_read(vin, VNMC_REG);
    --
    2.25.1


    \
     
     \ /
      Last update: 2020-10-27 17:10    [W:4.058 / U:0.096 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site