lkml.org 
[lkml]   [2021]   [Apr]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 13/79] media: s5p: fix pm_runtime_get_sync() usage count
    Date
    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 and avoid memory
    leaks.

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

    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    ---
    drivers/media/cec/platform/s5p/s5p_cec.c | 5 ++++-
    1 file changed, 4 insertions(+), 1 deletion(-)

    diff --git a/drivers/media/cec/platform/s5p/s5p_cec.c b/drivers/media/cec/platform/s5p/s5p_cec.c
    index 2a3e7ffefe0a..2250c1cbc64e 100644
    --- a/drivers/media/cec/platform/s5p/s5p_cec.c
    +++ b/drivers/media/cec/platform/s5p/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-04-27 12:39    [W:3.160 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site