Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp982212ybt; Wed, 17 Jun 2020 19:52:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw5swrpZHs/1EWMpNkiZpZZiilrd51bx1kSW82fYe4vx+2UPRoMf4ktSaaLyWVwIhegppUn X-Received: by 2002:a17:906:3041:: with SMTP id d1mr2020146ejd.7.1592448745163; Wed, 17 Jun 2020 19:52:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592448745; cv=none; d=google.com; s=arc-20160816; b=cYFZBQagN8WAYiPfJ/t4rnRSLXlJgyesy8t6WL2p47o0ucTqDdYkiahXuw92E5pcyd xGK5qggD807Xk8s2t629nzWvPHmORo1gwV55oSd064SGk8wDKff211TAntejcKqCt3uU pYDtwphf+V2YTzNAMA9dARI/lN7jCzb+sLf1rAg48OmJ46te4WuZuvrdvwq7+5mpa24F Bvk5TrqCK8bwyFCNsf9lt4psVwsEKC8wWERyAfqi+oLgrQoNU3lnFAvbJ+if57vKnjUX zBof4nmCGo+cofPWKnZzRJI4ZjG6kadD1HSC3NPbx3Witf4W38m/YWAGJQbmDGtPNIYI Ry/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=vgUl6ds+a8xsOQ2Ot1PTkHF2WI+QAi9rGzi9QqRyWSs=; b=LuV9iTpmc0HHsYvBP9ZXD22DNJsY6DiM6E1Ej2etMDmyKC2+2MXjMFWTd0rBRhC0/u whwLULvgmLxrOpMcfpk5ksFLpz0CF+eP9ClDnBTMeeubs3iz70h1vGdJc0WptVbLeQ5e Tp8xAMe2KG98hk01E/H2IeLlXh2fYRKZo14K8CiM0G5bfTsiYsUariqfe9oWhTnriCu8 NEjReCc/lZlYHj8WgM0ZVsujNPGm6fAQL5GfcfSgtqdzvuQXIfRKcrYALphATMh5GzWr WTTgY5mTCApJnrFNR4ASxQ/5ZlC97ftrgTGMInsVHyFWyRi8PNGNI3I0lvEu2JW6b+VR dBvw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=cDopKRbu; 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=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p16si1063689eds.462.2020.06.17.19.52.03; Wed, 17 Jun 2020 19:52:25 -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=@kernel.org header.s=default header.b=cDopKRbu; 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=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728600AbgFRCsY (ORCPT + 99 others); Wed, 17 Jun 2020 22:48:24 -0400 Received: from mail.kernel.org ([198.145.29.99]:36852 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728361AbgFRBKA (ORCPT ); Wed, 17 Jun 2020 21:10:00 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id C0DCD21D7F; Thu, 18 Jun 2020 01:09:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1592442600; bh=I2F6fN+42izECEedNu+3CiXDqLSxar4fLW5EChKmkQ0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=cDopKRbu4QptvK3qQQqv6KFEzeyZCs6mtuKI/EXMHtgcpNPRa16nNYPvRLGFBJfu5 TwYRPAsM5X7BLOx0BKj0osozIw85m7Ex6LPv+FumsMsiUw5IGHcooNdOjI/Nhvo0Bs LDvvhyIKMF5/6Lvsr5hVB4NauviGSNK2n/R66E+Y= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Navid Emamdoost , Thierry Reding , Sasha Levin , linux-pwm@vger.kernel.org Subject: [PATCH AUTOSEL 5.7 087/388] pwm: img: Call pm_runtime_put() in pm_runtime_get_sync() failed case Date: Wed, 17 Jun 2020 21:03:04 -0400 Message-Id: <20200618010805.600873-87-sashal@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200618010805.600873-1-sashal@kernel.org> References: <20200618010805.600873-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Navid Emamdoost [ Upstream commit ca162ce98110b98e7d97b7157328d34dcfdd40a9 ] Even in failed case of pm_runtime_get_sync(), the usage_count is incremented. In order to keep the usage_count with correct value call appropriate pm_runtime_put(). Signed-off-by: Navid Emamdoost Signed-off-by: Thierry Reding Signed-off-by: Sasha Levin --- drivers/pwm/pwm-img.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/pwm/pwm-img.c b/drivers/pwm/pwm-img.c index c9e57bd109fb..599a0f66a384 100644 --- a/drivers/pwm/pwm-img.c +++ b/drivers/pwm/pwm-img.c @@ -129,8 +129,10 @@ static int img_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, duty = DIV_ROUND_UP(timebase * duty_ns, period_ns); ret = pm_runtime_get_sync(chip->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put_autosuspend(chip->dev); return ret; + } val = img_pwm_readl(pwm_chip, PWM_CTRL_CFG); val &= ~(PWM_CTRL_CFG_DIV_MASK << PWM_CTRL_CFG_DIV_SHIFT(pwm->hwpwm)); @@ -331,8 +333,10 @@ static int img_pwm_remove(struct platform_device *pdev) int ret; ret = pm_runtime_get_sync(&pdev->dev); - if (ret < 0) + if (ret < 0) { + pm_runtime_put(&pdev->dev); return ret; + } for (i = 0; i < pwm_chip->chip.npwm; i++) { val = img_pwm_readl(pwm_chip, PWM_CTRL_CFG); -- 2.25.1