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 169/757] media: camss: Fix a reference count leak.
    Date
    From: Qiushi Wu <wu000273@umn.edu>

    [ Upstream commit d0675b67b42eb4f1a840d1513b5b00f78312f833 ]

    pm_runtime_get_sync() increments the runtime PM usage counter even
    when it returns an error code, causing incorrect ref count if
    PM runtime put is not called in error handling paths.
    Thus call pm_runtime_put_sync() if pm_runtime_get_sync() fails.

    Fixes: 02afa816dbbf ("media: camss: Add basic runtime PM support")
    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/qcom/camss/camss-csiphy.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    diff --git a/drivers/media/platform/qcom/camss/camss-csiphy.c b/drivers/media/platform/qcom/camss/camss-csiphy.c
    index 03ef9c5f4774d..85b24054f35e6 100644
    --- a/drivers/media/platform/qcom/camss/camss-csiphy.c
    +++ b/drivers/media/platform/qcom/camss/camss-csiphy.c
    @@ -176,8 +176,10 @@ static int csiphy_set_power(struct v4l2_subdev *sd, int on)
    int ret;

    ret = pm_runtime_get_sync(dev);
    - if (ret < 0)
    + if (ret < 0) {
    + pm_runtime_put_sync(dev);
    return ret;
    + }

    ret = csiphy_set_clock_rates(csiphy);
    if (ret < 0) {
    --
    2.25.1


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