Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp833305pxb; Fri, 22 Apr 2022 12:09:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwhSEuQCky+vgJ9XloxkpqqYykvwvAUj7IfzglnTbP+i+h9afQerdnCyStYa4+/bWow0Q6I X-Received: by 2002:a17:90b:33ca:b0:1d4:d5ab:40b0 with SMTP id lk10-20020a17090b33ca00b001d4d5ab40b0mr15485437pjb.96.1650654582187; Fri, 22 Apr 2022 12:09:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650654582; cv=none; d=google.com; s=arc-20160816; b=qogaiy/TqowBXGa/kpUQ2hbzQ+KRJb12DCavFxL7CaSoW5zuuQG2u4Zb423CWhdZhu Bnk625IOjMdllGlRbcoh5PpHGTMJGuLdoAmIoRqp+5X1qzhhFJ6tnnFWbcuH9/hZdtCq YUlM1bKMM2i8TWfjjJ/ek6G2bDu82H+LXfe5V42p81zMSahzscYlBIuXyjwEa05h2/tU u6ogh82BQCf3pl6UCv+hoLr/niWKmmXlKNTYK7glkUSxb3jSxlMIMlJHnsgXCwKJUPeL D3k3MKiL0YKEWIcp411B3DbQHVulfY7/hoqDL9gOhzkY7VNHrB51ujCjVJ0hjcuvv9Sr yUKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=DKhg142Wlk6AFjo5SyNKNuZ+EL/BpZej/wWvDH5mY50=; b=xCYkfia8U95TWXVpp9lqPteq/orDLG+AX1ybp9ZAE1k/XDeiIZhi2XHWDmAvwVRJIu q/Ns/sCzeDx026QtwB8wtR4QbBvwmZGXRyXc8m9KVivEGP4sB/sBF9Mw5ckFcAOQxuJJ F+Uew692PTA6hy+bvfVj/sVRS5rMEM0c7stFopd/zYjQFexaxYncmdhpadY7fmjbQe+T lNnIyIsFjG92LP4hCd/Xi22OXfJFcjcySUSTKcBay/FkpbTUkvGGxe9usczMaEeLW1a6 CIb2xJ4hqtcMs4imEldEoskonpP6llDXfODnAnoBVXck/AtYcOtYn5/qqcML+7A1NuUH EkXw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=KQYDKUEO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id hi7-20020a17090b30c700b001d7e1e0f96bsi2838327pjb.131.2022.04.22.12.09.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Apr 2022 12:09:42 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=KQYDKUEO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 281D3205; Fri, 22 Apr 2022 11:28:00 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1384049AbiDUM2E (ORCPT + 99 others); Thu, 21 Apr 2022 08:28:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35264 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1384038AbiDUM2A (ORCPT ); Thu, 21 Apr 2022 08:28:00 -0400 Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com [IPv6:2607:f8b0:4864:20::62d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E0E0313F1C for ; Thu, 21 Apr 2022 05:25:10 -0700 (PDT) Received: by mail-pl1-x62d.google.com with SMTP id t12so4685599pll.7 for ; Thu, 21 Apr 2022 05:25:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=DKhg142Wlk6AFjo5SyNKNuZ+EL/BpZej/wWvDH5mY50=; b=KQYDKUEOG7XGEF9CzfRneviC28oNECGV9wp4aaL6EO+HgbCyRazvNKSFAbOT3P3Byi hlSbIYZ3jvc+HU0wFz+UMeUTJrvJ9CsmhF+gAWZU9Zrj7C82UCPP1ug/4U2oFVyDkpJr EnuQMngI1SmLb7LmceYO+/yMj6t5yugx1ealPoYKNV9Zf8cnxf/zRCS3qkYKYcYKHjsi W5tynycj2yVt1Ga8MfNUhR53+S+i1hXYVncuX6A/c6P3azWo3kC5jMi6tjBa0C63HrNd IlTQdDg01AaKjBz79yKG18xannJDGgPdxk5A30kKhVlS+cmk1xPdjRNB3kXAwQZwWfhI Pm6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=DKhg142Wlk6AFjo5SyNKNuZ+EL/BpZej/wWvDH5mY50=; b=3FT+0vbL4JiqRT++HLGZlmamO2BXfI/9L5dyAryKx9UEqI/QZBePgw8XXOcOWkHBud DUWxCuc4YtXdYNm+ufCMX0IuqG696diacLxOEfWUSdRkf5tnObftrBhs/IGGZSg1UfXO fhMKV+zf0q9dBlsNAgc9K7r85U1QpIx647LUJP2fZB8lkoELL2iceNxGNjslF7tJ3Tx1 qX+porZcQmf+LEhA6F7ffp/ftKW4pwisYLJDjPZNcNwQaZUGHTvKjz0jreDZWF/IBr8t ulWj/Zd68WukktfxIylkBVv9y0n/pbo13IEqbxgSmaASro7+qkf/Xj6AtMS36OTRXM1t Q7Cg== X-Gm-Message-State: AOAM5305z3/wp/spaUqX50ZJSG4cu8QgbxEkj6K6aPrW5c72qDe0MvwB OXPFUf5dGOCWWdGr8+MQzAo8cfJTIdHtzjfBIG7rvg== X-Received: by 2002:a17:90b:124c:b0:1bc:369b:7db5 with SMTP id gx12-20020a17090b124c00b001bc369b7db5mr10066726pjb.179.1650543910393; Thu, 21 Apr 2022 05:25:10 -0700 (PDT) MIME-Version: 1.0 References: <202204031935.5SkYsM2M-lkp@intel.com> <20220420011644.25730-1-linmq006@gmail.com> In-Reply-To: <20220420011644.25730-1-linmq006@gmail.com> From: Robert Foss Date: Thu, 21 Apr 2022 14:24:59 +0200 Message-ID: Subject: Re: [PATCH v2] drm/bridge: Fix error handling in analogix_dp_probe To: Miaoqian Lin Cc: Andrzej Hajda , Neil Armstrong , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , David Airlie , Daniel Vetter , Dave Airlie , Tomi Valkeinen , Jyri Sarha , Lyude Paul , Maxime Ripard , Yakir Yang , Inki Dae , Heiko Stuebner , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 20 Apr 2022 at 03:16, Miaoqian Lin wrote: > > In the error handling path, the clk_prepare_enable() function > call should be balanced by a corresponding 'clk_disable_unprepare()' > call , as already done in the remove function. > > Fixes: 3424e3a4f844 ("drm: bridge: analogix/dp: split exynos dp driver to bridge directory") > Signed-off-by: Miaoqian Lin > --- > changes in v2: > - remove the wrong return statement. > --- > .../gpu/drm/bridge/analogix/analogix_dp_core.c | 18 +++++++++++++----- > 1 file changed, 13 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > index eb590fb8e8d0..474ef88015ae 100644 > --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > @@ -1698,8 +1698,10 @@ analogix_dp_probe(struct device *dev, struct analogix_dp_plat_data *plat_data) > res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > > dp->reg_base = devm_ioremap_resource(&pdev->dev, res); > - if (IS_ERR(dp->reg_base)) > - return ERR_CAST(dp->reg_base); > + if (IS_ERR(dp->reg_base)) { > + ret = PTR_ERR(dp->reg_base); > + goto err_disable_clk; > + } > > dp->force_hpd = of_property_read_bool(dev->of_node, "force-hpd"); > > @@ -1711,7 +1713,8 @@ analogix_dp_probe(struct device *dev, struct analogix_dp_plat_data *plat_data) > if (IS_ERR(dp->hpd_gpiod)) { > dev_err(dev, "error getting HDP GPIO: %ld\n", > PTR_ERR(dp->hpd_gpiod)); > - return ERR_CAST(dp->hpd_gpiod); > + ret = PTR_ERR(dp->hpd_gpiod); > + goto err_disable_clk; > } > > if (dp->hpd_gpiod) { > @@ -1731,7 +1734,8 @@ analogix_dp_probe(struct device *dev, struct analogix_dp_plat_data *plat_data) > > if (dp->irq == -ENXIO) { > dev_err(&pdev->dev, "failed to get irq\n"); > - return ERR_PTR(-ENODEV); > + ret = -ENODEV; > + goto err_disable_clk; > } > > ret = devm_request_threaded_irq(&pdev->dev, dp->irq, > @@ -1740,11 +1744,15 @@ analogix_dp_probe(struct device *dev, struct analogix_dp_plat_data *plat_data) > irq_flags, "analogix-dp", dp); > if (ret) { > dev_err(&pdev->dev, "failed to request irq\n"); > - return ERR_PTR(ret); > + goto err_disable_clk; > } > disable_irq(dp->irq); > > return dp; > + > +err_disable_clk: > + clk_disable_unprepare(dp->clock); > + return ERR_PTR(ret); > } > EXPORT_SYMBOL_GPL(analogix_dp_probe); > Reviewed-by: Robert Foss Applied to drm-misc-next.