From patchwork Fri Oct 5 20:41:05 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Senna Tschudin X-Patchwork-Id: 189595 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 84F502C00A3 for ; Sat, 6 Oct 2012 06:42:16 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757410Ab2JEUlj (ORCPT ); Fri, 5 Oct 2012 16:41:39 -0400 Received: from mail-wg0-f44.google.com ([74.125.82.44]:47059 "EHLO mail-wg0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757379Ab2JEUle (ORCPT ); Fri, 5 Oct 2012 16:41:34 -0400 Received: by mail-wg0-f44.google.com with SMTP id dr13so1814889wgb.1 for ; Fri, 05 Oct 2012 13:41:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; bh=l3fuwTQUWgstXcIUzMSp5QwCy0+aFeAc28E4EwYcDJc=; b=x7CekJVk1lJud5r5Xl71eHboETMWiB/drA+GqFoAdZI2NLCzvJLPZX4Ihl2kuh9zSZ MX3vjyFQFYgCHHPV8xr4wrMRxmCsNZXCwDsjWacPxM4LXckiYy7EVzl0yaPJRiu5lf1I TACMw1HoUHU7YfUh6Mua7Ex457ppg4l/IAWjkY4KSqNs4hRxPn4wAOaYMZKSLWegRENJ CqJcQ7LHxmLsH/ROq7uO/+4eTIiRt+8zbs93/lfmrI83QHvDFvmcKGGOrM8wQ3lIvXly hrjfmfjl14DYaHmNqlDw5y7sLUVyM3N71vF4FUoaDQALRmbI31u+mfwczbMxnTeiXwGi 3mQA== Received: by 10.180.80.104 with SMTP id q8mr5626500wix.6.1349469692536; Fri, 05 Oct 2012 13:41:32 -0700 (PDT) Received: from ace.home ([37.175.200.243]) by mx.google.com with ESMTPS id ei1sm4471950wid.7.2012.10.05.13.41.31 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 05 Oct 2012 13:41:32 -0700 (PDT) From: Peter Senna Tschudin To: wg@grandegger.com Cc: mkl@pengutronix.de, davem@davemloft.net, jj@chaosbits.net, linux-can@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Peter Senna Tschudin Subject: [PATCH 3/20 V2] drivers/net/can/sja1000/peak_pci.c: fix error return code Date: Fri, 5 Oct 2012 22:41:05 +0200 Message-Id: <1349469667-6137-3-git-send-email-peter.senna@gmail.com> X-Mailer: git-send-email 1.7.11.4 In-Reply-To: <1349469667-6137-1-git-send-email-peter.senna@gmail.com> References: <1349469667-6137-1-git-send-email-peter.senna@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Peter Senna Tschudin The function peak_pci_probe() return 0 for success and negative value for most of its internal tests failures. There are two exceptions that are error cases going to failure_*:. Fore this two cases the function abort its success execution path, but returns non negative value, making it dificult for a caller function to notice the error. This patch fixes the error cases that do not return negative values. This was found by Coccinelle, but the code change was made by hand. This patch is not robot generated. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // ( if@p1 (\(ret < 0\|ret != 0\)) { ... return ret; } | ret@p1 = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // Signed-off-by: Peter Senna Tschudin --- Change from V1: Updated commit message. See: http://www.kernelhub.org/?p=2&msg=139319 drivers/net/can/sja1000/peak_pci.c | 2 ++ 1 file changed, 2 insertions(+) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/net/can/sja1000/peak_pci.c b/drivers/net/can/sja1000/peak_pci.c index f0a1296..f5b82ae 100644 --- a/drivers/net/can/sja1000/peak_pci.c +++ b/drivers/net/can/sja1000/peak_pci.c @@ -583,12 +583,14 @@ static int __devinit peak_pci_probe(struct pci_dev *pdev, cfg_base = pci_iomap(pdev, 0, PEAK_PCI_CFG_SIZE); if (!cfg_base) { dev_err(&pdev->dev, "failed to map PCI resource #0\n"); + err = -ENOMEM; goto failure_release_regions; } reg_base = pci_iomap(pdev, 1, PEAK_PCI_CHAN_SIZE * channels); if (!reg_base) { dev_err(&pdev->dev, "failed to map PCI resource #1\n"); + err = -ENOMEM; goto failure_unmap_cfg_base; }