From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 98E0DC433B4 for ; Wed, 5 May 2021 11:17:39 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 64FC86121F for ; Wed, 5 May 2021 11:17:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232888AbhEELSd (ORCPT ); Wed, 5 May 2021 07:18:33 -0400 Received: from mail.kernel.org ([198.145.29.99]:53334 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232580AbhEELSa (ORCPT ); Wed, 5 May 2021 07:18:30 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 57710611AD; Wed, 5 May 2021 11:17:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620213454; bh=6bWQBkyrtcoK6PbWPlqLcwI7QzrahpA09bOWsUzwsC0=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=H1skVirY1eMlbe3Cnm8EoDLq0eLg1YRq5YJDGvwUYpXAL51KopxAMqglG2tq0FIoZ wAlADhbbyZoLAuxfrsQV5BXIvTrh3f7tAHPzNrQG8CR5FssNULrb93GkQ99NYr063a WQQ8TpBoZtcz0T6BG3l80gx6Ys3dMoCVvnhZ2zRZ+8Q5D9DUO2tl40VW9zV/1v/R96 3qmAxUPjnyb7bJbBGR5hpeeNXv31oQDil9EVstYYaKyo/tVJjobR73c0sVFO1lsMeA fF962HqWcl1ZEE/SUG3dCYwCEXH7xXSHVTn94IbJ331OkJn8n8RxkkOi/MHA69d8vn PTQhw3ePVwsfQ== Date: Wed, 5 May 2021 13:17:27 +0200 From: Mauro Carvalho Chehab To: Jonathan Cameron Cc: , , Fabio Estevam , Greg Kroah-Hartman , "Mauro Carvalho Chehab" , NXP Linux Team , Pengutronix Kernel Team , Philipp Zabel , Rui Miguel Silva , Sascha Hauer , Shawn Guo , Steve Longerbeam , , , , Subject: Re: [PATCH 02/25] staging: media: imx7-mipi-csis: fix pm_runtime_get_sync() usage count Message-ID: <20210505131727.6c07e3b0@coco.lan> In-Reply-To: <20210505120652.00001236@Huawei.com> References: <793a5806a63b6313606fd1c344b9eec41e61a440.1620207353.git.mchehab+huawei@kernel.org> <20210505120652.00001236@Huawei.com> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-redhat-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Wed, 5 May 2021 12:06:52 +0100 Jonathan Cameron escreveu: > On Wed, 5 May 2021 11:41:52 +0200 > Mauro Carvalho Chehab wrote: > > > 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. > > > > Acked-by: Rui Miguel Silva > > Signed-off-by: Mauro Carvalho Chehab > > Not a fix as far as I can see, just a cleanup - so perhaps not this set? Yeah, will move it to the non-error patch pile and change the comments. > > Jonathan > > > > --- > > drivers/staging/media/imx/imx7-mipi-csis.c | 7 +++---- > > 1 file changed, 3 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/staging/media/imx/imx7-mipi-csis.c b/drivers/staging/media/imx/imx7-mipi-csis.c > > index 025fdc488bd6..1dc680d94a46 100644 > > --- a/drivers/staging/media/imx/imx7-mipi-csis.c > > +++ b/drivers/staging/media/imx/imx7-mipi-csis.c > > @@ -695,11 +695,10 @@ static int mipi_csis_s_stream(struct v4l2_subdev *mipi_sd, int enable) > > > > mipi_csis_clear_counters(state); > > > > - ret = pm_runtime_get_sync(&state->pdev->dev); > > - if (ret < 0) { > > - pm_runtime_put_noidle(&state->pdev->dev); > > + ret = pm_runtime_resume_and_get(&state->pdev->dev); > > + if (ret < 0) > > return ret; > > - } > > + > > ret = v4l2_subdev_call(state->src_sd, core, s_power, 1); > > if (ret < 0 && ret != -ENOIOCTLCMD) > > goto done; > Thanks, Mauro