lkml.org 
[lkml]   [2021]   [Jul]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.4 03/50] media: s5p: fix pm_runtime_get_sync() usage count
    Date
    From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>

    [ Upstream commit fdc34e82c0f968ac4c157bd3d8c299ebc24c9c63 ]

    The pm_runtime_get_sync() internally increments the
    dev->power.usage_count without decrementing it, even on errors.
    Replace it by the new pm_runtime_resume_and_get(), introduced by:
    commit dd8088d5a896 ("PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter")
    in order to properly decrement the usage counter, avoiding
    a potential PM usage counter leak.

    While here, check if the PM runtime error was caught at
    s5p_cec_adap_enable().

    Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
    Acked-by: Marek Szyprowski <m.szyprowski@samsung.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/media/platform/s5p-cec/s5p_cec.c | 5 ++++-
    1 file changed, 4 insertions(+), 1 deletion(-)

    diff --git a/drivers/media/platform/s5p-cec/s5p_cec.c b/drivers/media/platform/s5p-cec/s5p_cec.c
    index 6ddcc35b0bbd..5e80352f506b 100644
    --- a/drivers/media/platform/s5p-cec/s5p_cec.c
    +++ b/drivers/media/platform/s5p-cec/s5p_cec.c
    @@ -35,10 +35,13 @@ MODULE_PARM_DESC(debug, "debug level (0-2)");

    static int s5p_cec_adap_enable(struct cec_adapter *adap, bool enable)
    {
    + int ret;
    struct s5p_cec_dev *cec = cec_get_drvdata(adap);

    if (enable) {
    - pm_runtime_get_sync(cec->dev);
    + ret = pm_runtime_resume_and_get(cec->dev);
    + if (ret < 0)
    + return ret;

    s5p_cec_reset(cec);

    --
    2.30.2
    \
     
     \ /
      Last update: 2021-07-05 01:40    [W:24.904 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site