Received: by 2002:ab2:69cc:0:b0:1f4:be93:e15a with SMTP id n12csp1443988lqp; Mon, 15 Apr 2024 06:53:18 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCV2UyxmFpuX0v+tbaC22gdFiABPkuSuHJ753VZFuJZUN8WZf/UhAGYmZRj37Biger31Bqbnchycuc5iaPmHR042QyDy2hd4mlSe7fSAaQ== X-Google-Smtp-Source: AGHT+IH/98myzyGb/KyoEuxLORSdK0HDL2LRvTLzTk/PbAxDsYe1z2CJQO8dOIxQh1QoONUKsTtR X-Received: by 2002:a05:6a00:1902:b0:6ec:fdcd:18eb with SMTP id y2-20020a056a00190200b006ecfdcd18ebmr9542215pfi.21.1713189198309; Mon, 15 Apr 2024 06:53:18 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713189198; cv=pass; d=google.com; s=arc-20160816; b=1HxFR4xi8lkFIOXqwudmheCI0wqumkUlJ4ud6qTRTUbYjJAhpx2ocM1JbzxIbYF+XN HikE+K/6EHYc1ZPzGCcpGK3EdlMPOZxGAPpYdJOCMFJMEBrO0oBPZ1jbKd1nkro6Xf9z qaLXixcpISDpzJ/p9Nn4IazS41G36z10nDSEVvzPQ1SYIhhnpcvgJvN1XP3QWuC9LF5h KVJg7HtYfTXRuuJLd3o2DeqPbBShdPmT5u2+ZTZeRg9C3YvuHg6lhPJUebWoj3W9k5OF 0Cb+VU4PvoeECmpEYThaCmD0hrCdZThJeD7+zGXmhGlbQSACLNVaFhKqgvJiZLnMkRmF obPA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :references:message-id:subject:cc:to:from:date:dkim-signature; bh=URATM88FwyT3na63TXvaSYPAMvcYqT/fjLod+EmovWc=; fh=xgErBZakfvadfNMsQ6uNkgHkExXz3L5I0YF+kdbe/5M=; b=uFg0pD+NRDqQe11bWSzcRY2ucOcqUTD9TNb7Qj24u85yaP/cXMmjYSjfaAn2FXcORm fmnUw2cAPo+K+QTgrlLT2HAvHiu3Ubt3TxDf82Zx5TgZyD/sKB/M+xbvdk6P7nK84vat SnMnSPIlVejESEQMFVBR5KZhbUrDUtwyCvZWyq9t2E0+Sfjg3ey3zg+Ri/nI0CwnhS6R 2a5UX/nwqbk6ip0IhBYOmclFgR/jySK8Lv9qz9X4kRe/msSbNIq4CPkn60DWg7onD/Us 8gwuA1KDzVPmlvE70Q5FK/Y9LaLYI42Sv9U+S2dHAl+Tc+4OWNhnrzkIjPe1pI5fd2bs reSA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=sqe4p6Tf; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-145303-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-145303-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id 16-20020a631850000000b005dc491389a5si8011118pgy.812.2024.04.15.06.53.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Apr 2024 06:53:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-145303-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=sqe4p6Tf; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-145303-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-145303-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 05C6C28394B for ; Mon, 15 Apr 2024 13:53:18 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 76BCA78C76; Mon, 15 Apr 2024 13:51:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="sqe4p6Tf" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 89ED778C7D; Mon, 15 Apr 2024 13:51:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713189117; cv=none; b=ccB0Rq3VEv7mE1vT0F1rQAnd0kzV7JsNoHYLAJ8BC1/jpVaoWxmK1zZIhYXam0UBCtFWX7aRAU8N7swsz31lLTKrqu0Hxqq0JWDPnbjvyCPtJ30V0UKxHw9P8g7aYZsaro3R+ysZGINdwDrxHlNZuNROVio055vVoKba0LP7tvA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713189117; c=relaxed/simple; bh=SzkzBFbe6c8gG4+ZL+WOY4sX6HVkU3+kdcdkXuXKNZM=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=MbZEwh9EJgX4EAmbVsDfk8Mv9k17b3390WnJhfHL1s8H8DE3whu0A0HsyOHbUpnAZVouHrBuxzj6LePLQcK+e3Xg3PKpoACMcgVxj1zjpJQsVr6J20SZLKJK6VixmD7DVJGWOjMQVzLaLP5zd+77Wmbh+S675aygQrxjaYuVCPc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=sqe4p6Tf; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id C13F7C2BD10; Mon, 15 Apr 2024 13:51:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1713189117; bh=SzkzBFbe6c8gG4+ZL+WOY4sX6HVkU3+kdcdkXuXKNZM=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=sqe4p6TfQMQKNjnLm3WtPvKmlyes/8Yacw5p/NJKXdXlob5yIi2V5cX3EfI2jFNOt a6Ks5+HKBGdrpT1/gTyWLWPd+ndyf55wCBck4PFTD2ZX02Htifn+R15Y2812Cg20TT sDzwqr7z5A+yuHtSKodu1bQWxiAw+Kx5Kb2IKrHT09szT5TtT0GMTi4zh7T7i2rKsQ RGX4C9Det3rZ/PJSVLj/3lsmwbW4i/lAzygGB6xht7PppPSRzPx294dGBcnnvXM5Lu czUXSiO4sbKkaC1XTGhaYPBk6mb5Z0XPvPX7DpLhFa44rg30DRXe4SlEJvs9TniJb5 Ag26DSQPm1FKQ== Date: Mon, 15 Apr 2024 19:21:48 +0530 From: Manivannan Sadhasivam To: Vidya Sagar Cc: lpieralisi@kernel.org, kw@linux.com, robh@kernel.org, bhelgaas@google.com, thierry.reding@gmail.com, jonathanh@nvidia.com, linux-pci@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, kthota@nvidia.com, mmaddireddy@nvidia.com, sagar.tv@gmail.com Subject: Re: [PATCH V2] PCI: tegra194: Fix probe path for Endpoint mode Message-ID: <20240415135148.GI7537@thinkpad> References: <20240401150116.298069-1-vidyas@nvidia.com> <20240408093053.3948634-1-vidyas@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20240408093053.3948634-1-vidyas@nvidia.com> On Mon, Apr 08, 2024 at 03:00:53PM +0530, Vidya Sagar wrote: > Tegra194 PCIe probe path is taking failure path in success case for > Endpoint mode. Return success from the switch case instead of going > into the failure path. > > Fixes: c57247f940e8 ("PCI: tegra: Add support for PCIe endpoint mode in Tegra194") > Signed-off-by: Vidya Sagar > Reviewed-by: Jon Hunter > --- > v2: > * Added 'Fixes' and 'Reviewed-by' from Jon Hunter > > drivers/pci/controller/dwc/pcie-tegra194.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c > index 4bba31502ce1..1a8178dc899a 100644 > --- a/drivers/pci/controller/dwc/pcie-tegra194.c > +++ b/drivers/pci/controller/dwc/pcie-tegra194.c > @@ -2273,11 +2273,14 @@ static int tegra_pcie_dw_probe(struct platform_device *pdev) > ret = tegra_pcie_config_ep(pcie, pdev); > if (ret < 0) > goto fail; > + else > + return 0; This pattern is prone to error just like how it was before this patch. You should just return 0 at the end of the function for success case and direct all failure cases to 'fail' label: ``` diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c index 1f7b662cb8e1..f410aae0ee7f 100644 --- a/drivers/pci/controller/dwc/pcie-tegra194.c +++ b/drivers/pci/controller/dwc/pcie-tegra194.c @@ -2236,9 +2236,8 @@ static int tegra_pcie_dw_probe(struct platform_device *pdev) pcie->icc_path = devm_of_icc_get(&pdev->dev, "write"); ret = PTR_ERR_OR_ZERO(pcie->icc_path); if (ret) { - tegra_bpmp_put(pcie->bpmp); dev_err_probe(&pdev->dev, ret, "failed to get write interconnect\n"); - return ret; + goto fail; } switch (pcie->of_data->mode) { @@ -2254,8 +2253,6 @@ static int tegra_pcie_dw_probe(struct platform_device *pdev) ret = tegra_pcie_config_rp(pcie); if (ret && ret != -ENOMEDIUM) goto fail; - else - return 0; break; case DW_PCIE_EP_TYPE: @@ -2278,8 +2275,11 @@ static int tegra_pcie_dw_probe(struct platform_device *pdev) default: dev_err(dev, "Invalid PCIe device type %d\n", pcie->of_data->mode); + goto fail; } + return 0; + fail: tegra_bpmp_put(pcie->bpmp); return ret; ``` - Mani -- மணிவண்ணன் சதாசிவம்