From patchwork Fri Oct 5 20:41:07 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: 189596 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 47E252C00A3 for ; Sat, 6 Oct 2012 06:42:39 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757444Ab2JEUmX (ORCPT ); Fri, 5 Oct 2012 16:42:23 -0400 Received: from mail-we0-f174.google.com ([74.125.82.174]:43750 "EHLO mail-we0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757393Ab2JEUlh (ORCPT ); Fri, 5 Oct 2012 16:41:37 -0400 Received: by mail-we0-f174.google.com with SMTP id t9so1297269wey.19 for ; Fri, 05 Oct 2012 13:41:34 -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=fqHris7CFEekbs0iIzhONdcm82723VYSQ8Ir7fD3fuA=; b=OvRfzn00lT9hfgYjTY7yNcRtZcpBox+K+wV2hw6NxXUNvFpVN3c0dJS76dZwOo35pV ehP/oluHRhvsEVixvszzrcFoO7t+kAJZG+OMzcrKB7dgYklj6AaWTeaP3KSFWhhQVGky ziV8gVDA0RVg+8FIey+zMvZf38Vd7Kk3Lq4oaJCCahE15VvzZNyXyol3V72b13c2fFHE 27AwkUgPlqow830RXB9h3FDntIhygP61alN2rOxCBmB96VHQjH8b6x8mI5TtlANBA48L NUrM3T/Sg7i0r7TOB3mgWCl0ESswRj/GOg3FniDNZW9JiKKjSbzRQQvSNhuT2XSG1utG LP0Q== Received: by 10.217.3.129 with SMTP id r1mr5653981wes.22.1349469694880; Fri, 05 Oct 2012 13:41:34 -0700 (PDT) Received: from ace.home ([37.175.200.243]) by mx.google.com with ESMTPS id ei1sm4471950wid.7.2012.10.05.13.41.34 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 05 Oct 2012 13:41:34 -0700 (PDT) From: Peter Senna Tschudin To: venza@brownhat.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Peter Senna Tschudin Subject: [PATCH 5/20 V2] drivers/net/ethernet/sis/sis900.c: fix error return code Date: Fri, 5 Oct 2012 22:41:07 +0200 Message-Id: <1349469667-6137-5-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 sis900_probe() return 0 for success and negative value for most of its internal tests failures. There is one exception that is error case going to err_out_cleardev:. Fore this error case, the function abort its success execution path, but returns non negative value, making it difficult for a caller function to notice the error. This patch fixes the error case that do not return negative value. 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/ethernet/sis/sis900.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -- 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/ethernet/sis/sis900.c b/drivers/net/ethernet/sis/sis900.c index 203d9c6..fb9f6b3 100644 --- a/drivers/net/ethernet/sis/sis900.c +++ b/drivers/net/ethernet/sis/sis900.c @@ -478,8 +478,10 @@ static int __devinit sis900_probe(struct pci_dev *pci_dev, /* IO region. */ ioaddr = pci_iomap(pci_dev, 0, 0); - if (!ioaddr) + if (!ioaddr) { + ret = -ENOMEM; goto err_out_cleardev; + } sis_priv = netdev_priv(net_dev); sis_priv->ioaddr = ioaddr;