From patchwork Wed Apr 8 11:20:37 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sudip Mukherjee X-Patchwork-Id: 459209 X-Patchwork-Delegate: davem@davemloft.net 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 140401401AD for ; Wed, 8 Apr 2015 21:23:33 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="verification failed; unprotected key" header.d=gmail.com header.i=@gmail.com header.b=fn34p2Jc; dkim-adsp=none (unprotected policy); dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754046AbbDHLWP (ORCPT ); Wed, 8 Apr 2015 07:22:15 -0400 Received: from mail-pd0-f182.google.com ([209.85.192.182]:34205 "EHLO mail-pd0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754008AbbDHLWJ (ORCPT ); Wed, 8 Apr 2015 07:22:09 -0400 Received: by pdbqa5 with SMTP id qa5so55219561pdb.1; Wed, 08 Apr 2015 04:22:08 -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:in-reply-to:references; bh=HBYtVmN62Fp/qbhAUOAD1WZTFgj793TncF/UeZeJrYY=; b=fn34p2Jc/T2FN+GocLqsat386PyVg7K5m1HMY2P7dFAB9eqQCCVd3JbIvufzOMLYQk BBkfYljm8hqi8ZZkqysfb5S5MA5RJmflJjhzkP/M+2Lp9SmP5Ahpl1xZibvKL9V984cY EnvkqAfm7XA03wjUz/6/RnBtVy/Qr3S3pa8Yn545XaodbU+nlv5Ju7l8e92OKJu06o7I Ss8hrNNKD311luxDKVUz4TArW0XH5bwYBQAt8MnsmSfFtoWgp7cgjNtKB5siH0HyFJWp QbhrICjM9hd0KErtks2rhhHyqrD9jRBdH5liruSq8cguM0S6YzN9/HzgR5CDhsfLQi+n rUYg== X-Received: by 10.66.139.135 with SMTP id qy7mr44877062pab.144.1428492128632; Wed, 08 Apr 2015 04:22:08 -0700 (PDT) Received: from localhost.localdomain ([122.169.147.27]) by mx.google.com with ESMTPSA id og11sm10973411pdb.91.2015.04.08.04.22.02 (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 08 Apr 2015 04:22:07 -0700 (PDT) From: Sudip Mukherjee To: Arnd Bergmann , Greg Kroah-Hartman , Jean Delvare , Wolfram Sang , Rodolfo Giometti , "James E.J. Bottomley" , Mark Brown , Willy Tarreau , Jaroslav Kysela , Takashi Iwai Cc: linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org, netdev@vger.kernel.org, linux-scsi@vger.kernel.org, linux-spi@vger.kernel.org, devel@driverdev.osuosl.org, alsa-devel@alsa-project.org, Sudip Mukherjee Subject: [PATCH 11/14] net: plip: return proper error values from attach Date: Wed, 8 Apr 2015 16:50:37 +0530 Message-Id: <1428492040-5581-12-git-send-email-sudipm.mukherjee@gmail.com> X-Mailer: git-send-email 1.8.1.2 In-Reply-To: <1428492040-5581-1-git-send-email-sudipm.mukherjee@gmail.com> References: <1428492040-5581-1-git-send-email-sudipm.mukherjee@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org now that we are monitoring the return value from attach, make the required changes to return proper value from its attach function. also return the proper error code in module_init. Signed-off-by: Sudip Mukherjee --- drivers/net/plip/plip.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/drivers/net/plip/plip.c b/drivers/net/plip/plip.c index 040b897..6706bc3 100644 --- a/drivers/net/plip/plip.c +++ b/drivers/net/plip/plip.c @@ -1243,7 +1243,7 @@ plip_searchfor(int list[], int a) /* plip_attach() is called (by the parport code) when a port is * available to use. */ -static void plip_attach (struct parport *port) +static int plip_attach(struct parport *port) { static int unit; struct net_device *dev; @@ -1254,13 +1254,13 @@ static void plip_attach (struct parport *port) plip_searchfor(parport, port->number)) { if (unit == PLIP_MAX) { printk(KERN_ERR "plip: too many devices\n"); - return; + return -EINVAL; } sprintf(name, "plip%d", unit); dev = alloc_etherdev(sizeof(struct net_local)); if (!dev) - return; + return -ENOMEM; strcpy(dev->name, name); @@ -1300,12 +1300,13 @@ static void plip_attach (struct parport *port) dev->name, dev->base_addr); dev_plip[unit++] = dev; } - return; + return 0; err_parport_unregister: parport_unregister_device(nl->pardev); err_free_dev: free_netdev(dev); + return -ENODEV; } /* plip_detach() is called (by the parport code) when a port is @@ -1379,6 +1380,8 @@ __setup("plip=", plip_setup); static int __init plip_init (void) { + int err; + if (parport[0] == -2) return 0; @@ -1387,9 +1390,10 @@ static int __init plip_init (void) timid = 0; } - if (parport_register_driver (&plip_driver)) { + err = parport_register_driver(&plip_driver); + if (err) { printk (KERN_WARNING "plip: couldn't register driver\n"); - return 1; + return err; } return 0;