Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp2825565pxv; Mon, 12 Jul 2021 02:53:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy7yOFULDPvbWldm5rzvcIoJ05U1PqAp7kILV817vcAzbyESrpmvhdg/IRQBGiUg+AOaD5M X-Received: by 2002:a6b:f91a:: with SMTP id j26mr30482387iog.97.1626083591109; Mon, 12 Jul 2021 02:53:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626083591; cv=none; d=google.com; s=arc-20160816; b=l+1/2sQpQhxx19TZjNekBJuzz29LL79Z4ntG+IIi32N0j8dA/Sv7DtEZdd9I06eYP9 TO0m0NM29ygN11A+r0/CERFnDXx8OtJnSiqUgXMoinWYmfhz9KyETtOmm8ilqE0Ch4C+ YZlcUufEZxru/h6MZ+OBPg6tQuBLDTiALxpjO24EIGgjh34PlvKAvUpAua7WxilFM+Ff wdK6FqZ0WRdAW9YpECFycGPXcPmfnQ85Pg9ml05GNhoNQqaA/mMRgD0KqknWGTD4xMgL Q8VYyyIPor6zXSl1pvHZt12re6qqQSwGSbB5RfS5FPXWFhPy10CR1ovIvtYZxSMYXifT CC2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=eoAAHPV32y+MtiLm1xpU090WdDtVWPPZZbzO93UuHjU=; b=03K0xSGTxDlJ02OsndT4sjsLosC5+4rRxFa4lxLfGYceXZbzOC0vJs64Qv1iN6bhCz sdO/FQgL2mWXiBV4BvczHULPgsMmq3hYapm4DvWWZbf8V9JOa01U8HZ+FA4UHIWeqazq mnNEBTMfaxhmccNUs7+bShBIVKBNviwLK7SAiDpbyKaUtEV4Ln/MpTYm3lyLUUPaCyVs a46h2XPUSmdkNd+0HCmMXqjdMCThgepHVmDH8xnJr0VLIyRXo/vU+WvZ+8q3BIZQMQuh GF8TOleCYWMM6guWzjRU9qsE+G8TlGTVsVKQnd9WWKV+nGxmzB3cgWwTpArZEJUGL+HD UPFg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=uHuzO+YQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a24si17270146iol.81.2021.07.12.02.52.59; Mon, 12 Jul 2021 02:53:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=uHuzO+YQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236842AbhGLGsu (ORCPT + 99 others); Mon, 12 Jul 2021 02:48:50 -0400 Received: from mail.kernel.org ([198.145.29.99]:34676 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235946AbhGLGiA (ORCPT ); Mon, 12 Jul 2021 02:38:00 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 52D21610CD; Mon, 12 Jul 2021 06:34:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1626071649; bh=C3Ov4ianFu541hRs+Iw/NiebssbLO9+heVHd2Tx/eXs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=uHuzO+YQt68L8xnZQ/0vdxXglYxHw7l1pA8VD16HmWvY9g2E6R80X0QpG/HD0G0kI tytC6jkp//pu4U48Mi1UniOv/nmFVA2LDK6PwCf6gjwMDWIAzUDtJAptAkCOIY6Y27 q8c9rw2ta50AxyqENCc4lTLfM4eMygTPHwv8k6WM= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jonathan Cameron , Mauro Carvalho Chehab , Sasha Levin Subject: [PATCH 5.10 107/593] media: sh_vou: fix pm_runtime_get_sync() usage count Date: Mon, 12 Jul 2021 08:04:27 +0200 Message-Id: <20210712060854.980024283@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210712060843.180606720@linuxfoundation.org> References: <20210712060843.180606720@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Mauro Carvalho Chehab [ Upstream commit 6e8b1526db164c9d4b9dacfb9bc48e365d7c4860 ] 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 open time. Reviewed-by: Jonathan Cameron Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Sasha Levin --- drivers/media/platform/sh_vou.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/sh_vou.c b/drivers/media/platform/sh_vou.c index b22dc1d72527..7d30e0c9447e 100644 --- a/drivers/media/platform/sh_vou.c +++ b/drivers/media/platform/sh_vou.c @@ -1133,7 +1133,11 @@ static int sh_vou_open(struct file *file) if (v4l2_fh_is_singular_file(file) && vou_dev->status == SH_VOU_INITIALISING) { /* First open */ - pm_runtime_get_sync(vou_dev->v4l2_dev.dev); + err = pm_runtime_resume_and_get(vou_dev->v4l2_dev.dev); + if (err < 0) { + v4l2_fh_release(file); + goto done_open; + } err = sh_vou_hw_init(vou_dev); if (err < 0) { pm_runtime_put(vou_dev->v4l2_dev.dev); -- 2.30.2