From patchwork Fri Oct 5 22:10:51 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: 189611 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 A700D2C00C1 for ; Sat, 6 Oct 2012 08:11:29 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757675Ab2JEWLK (ORCPT ); Fri, 5 Oct 2012 18:11:10 -0400 Received: from mail-wg0-f44.google.com ([74.125.82.44]:54745 "EHLO mail-wg0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757654Ab2JEWLH (ORCPT ); Fri, 5 Oct 2012 18:11:07 -0400 Received: by mail-wg0-f44.google.com with SMTP id dr13so1865689wgb.1 for ; Fri, 05 Oct 2012 15:11:06 -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=bz/oSkxIrBE62u9U+GtPY8r2+YcBpe9kd77Ik9wV3Bk=; b=kX4DrpHsEHBWZrhGLHKnpeW35SNLnsrpmU+jyXBcN1ACvNwXZ/g4fllp8Yumq3uLg1 MKctzMURqnUyZ3ZheKL5mkU0dc6n1sWi2zKAKul/EIhZ2jDpxQAB9OGEWeipxK2Tf/VG hImsYuyslA1jq/eoUQ2r/4KQpW9hErFHjQPyY22SI785+EUQaKy3iBGltdXw+elVIhaV iLBavF24rhmdrhD3Zq5Kex4AM8VAag4UZvYanAk8fRmxc8M8FbWzU6ZfXrRnrHNlZTQI cOoO28BS1shBbdGpVw66Sz7DCEZ6uFad3qCl9XXai1HQ/GDeBu8Gt2jO6AD+gEwUi/oG NdAA== Received: by 10.180.8.134 with SMTP id r6mr5892625wia.18.1349475066315; Fri, 05 Oct 2012 15:11:06 -0700 (PDT) Received: from ace.home ([37.175.200.243]) by mx.google.com with ESMTPS id fb20sm5234544wid.1.2012.10.05.15.11.04 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 05 Oct 2012 15:11:05 -0700 (PDT) From: Peter Senna Tschudin To: davem@davemloft.net Cc: joe@perches.com, dhowells@redhat.com, rick.jones2@hp.com, netdev@pradeepdalvi.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Peter Senna Tschudin Subject: [PATCH 13/20 V2] drivers/net/ethernet/amd/amd8111e.c: fix error return code Date: Sat, 6 Oct 2012 00:10:51 +0200 Message-Id: <1349475053-11464-3-git-send-email-peter.senna@gmail.com> X-Mailer: git-send-email 1.7.11.4 In-Reply-To: <1349475053-11464-1-git-send-email-peter.senna@gmail.com> References: <1349475053-11464-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 amd8111e_probe_one() return 0 for success and negative value for most of its internal tests failures. There are two exceptions that are error cases going to err_free_reg:. For 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/ethernet/amd/amd8111e.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/ethernet/amd/amd8111e.c b/drivers/net/ethernet/amd/amd8111e.c index 64d0d9c..3491d43 100644 --- a/drivers/net/ethernet/amd/amd8111e.c +++ b/drivers/net/ethernet/amd/amd8111e.c @@ -1845,6 +1845,7 @@ static int __devinit amd8111e_probe_one(struct pci_dev *pdev, if((pm_cap = pci_find_capability(pdev, PCI_CAP_ID_PM))==0){ printk(KERN_ERR "amd8111e: No Power Management capability, " "exiting.\n"); + err = -ENODEV; goto err_free_reg; } @@ -1852,6 +1853,7 @@ static int __devinit amd8111e_probe_one(struct pci_dev *pdev, if (pci_set_dma_mask(pdev, DMA_BIT_MASK(32)) < 0) { printk(KERN_ERR "amd8111e: DMA not supported," "exiting.\n"); + err = -ENODEV; goto err_free_reg; }