From patchwork Fri Oct 5 21:33:04 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: 189603 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 9F13E2C033D for ; Sat, 6 Oct 2012 07:33:48 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757500Ab2JEVde (ORCPT ); Fri, 5 Oct 2012 17:33:34 -0400 Received: from mail-we0-f174.google.com ([74.125.82.174]:49491 "EHLO mail-we0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757379Ab2JEVda (ORCPT ); Fri, 5 Oct 2012 17:33:30 -0400 Received: by mail-we0-f174.google.com with SMTP id t9so1321586wey.19 for ; Fri, 05 Oct 2012 14:33:28 -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=W9ueOtL/oDz9VvqzsVWheuvFM/1jw6d4tK6paCVKp0w=; b=qYl63/R6oYrGCBGgS5Qu+3m/nWmtWhixO8A6sFnyU7UGPHBZxunt1Fd8D6ayRmyoaU KpGbX3yvfQvNargPNDIJXAljC0JUFuQqqUkDAeTNX/qEgW8uq3ZlduE694Yoo5FtYVPd 7576fGdtncE9akeUSowf8b4fnr4E7wWZq0HeXyaiqc+PsbHy4zYLP9QcuQuialhdv4AG SgkXSZy6RcjkxFBxqa6IsYwnS1dHgdYh7WyJuNs39z8XYtM+ebXcC188BdymUiH2B6BQ Y79wI06mW8V1NMlAK8z5zC1FYfN9Veg8F3o6g1lE6IFNPFI/m+A+hdFAyjKYyPPJvY1V Z61A== Received: by 10.180.82.34 with SMTP id f2mr5757400wiy.17.1349472808764; Fri, 05 Oct 2012 14:33:28 -0700 (PDT) Received: from ace.home ([37.175.200.243]) by mx.google.com with ESMTPS id v3sm5048951wiy.5.2012.10.05.14.33.27 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 05 Oct 2012 14:33:28 -0700 (PDT) From: Peter Senna Tschudin To: samuel@sortiz.org Cc: irda-users@lists.sourceforge.net, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Peter Senna Tschudin Subject: [PATCH 7/20 V2] drivers/net/irda/mcs7780.c: fix error return code Date: Fri, 5 Oct 2012 23:33:04 +0200 Message-Id: <1349472786-10921-3-git-send-email-peter.senna@gmail.com> X-Mailer: git-send-email 1.7.11.4 In-Reply-To: <1349472786-10921-1-git-send-email-peter.senna@gmail.com> References: <1349472786-10921-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 mcs_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 error2:. For 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. 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/irda/mcs7780.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/irda/mcs7780.c b/drivers/net/irda/mcs7780.c index 1a00b59..f07c340 100644 --- a/drivers/net/irda/mcs7780.c +++ b/drivers/net/irda/mcs7780.c @@ -920,8 +920,10 @@ static int mcs_probe(struct usb_interface *intf, ndev->netdev_ops = &mcs_netdev_ops; - if (!intf->cur_altsetting) + if (!intf->cur_altsetting) { + ret = -ENOMEM; goto error2; + } ret = mcs_find_endpoints(mcs, intf->cur_altsetting->endpoint, intf->cur_altsetting->desc.bNumEndpoints);