From patchwork Mon Sep 14 16:22:29 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 33594 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@bilbo.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from ozlabs.org (ozlabs.org [203.10.76.45]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "mx.ozlabs.org", Issuer "CA Cert Signing Authority" (verified OK)) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4838DB7B9A for ; Tue, 15 Sep 2009 03:05:34 +1000 (EST) Received: by ozlabs.org (Postfix) id 328DEDDD04; Tue, 15 Sep 2009 03:05:34 +1000 (EST) Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by ozlabs.org (Postfix) with ESMTP id 40E1CDDD01 for ; Tue, 15 Sep 2009 03:01:13 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756050AbZINQXM (ORCPT ); Mon, 14 Sep 2009 12:23:12 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1756028AbZINQXM (ORCPT ); Mon, 14 Sep 2009 12:23:12 -0400 Received: from smtp1.linux-foundation.org ([140.211.169.13]:33053 "EHLO smtp1.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756026AbZINQXL (ORCPT ); Mon, 14 Sep 2009 12:23:11 -0400 Received: from nehalam (pool-71-117-243-208.ptldor.fios.verizon.net [71.117.243.208]) (authenticated bits=0) by smtp1.linux-foundation.org (8.14.2/8.13.5/Debian-3ubuntu1.1) with ESMTP id n8EGMZuC020354 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Mon, 14 Sep 2009 09:22:38 -0700 Date: Mon, 14 Sep 2009 09:22:29 -0700 From: Stephen Hemminger To: Mike McCormack , David Miller Cc: netdev@vger.kernel.org Subject: [PATCH alt] sky2: Make sure both ports initialize correctly Message-ID: <20090914092229.31490f45@nehalam> In-Reply-To: <4AAD7B86.6060300@ring3k.org> References: <4AAD7B86.6060300@ring3k.org> Organization: Linux Foundation X-Mailer: Claws Mail 3.6.1 (GTK+ 2.16.1; x86_64-pc-linux-gnu) Mime-Version: 1.0 X-Spam-Status: No, hits=-4.358 required=5 tests=AWL, BAYES_00, FH_HOST_EQ_VERIZON_P, OSDL_HEADER_SUBJECT_BRACKETED, RDNS_DYNAMIC X-Spam-Checker-Version: SpamAssassin 3.2.4-osdl_revision__1.47__ X-MIMEDefang-Filter: lf$Revision: 1.188 $ X-Scanned-By: MIMEDefang 2.63 on 140.211.169.13 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Sorry Mike, I sent you off the wrong way. The following is simpler and the second port is diffrent enough in setup (because of NAPI), that the following is simpler. Signed-off-by: Stephen Hemminger --- a/drivers/net/sky2.c 2009-09-14 09:16:34.313731803 -0700 +++ b/drivers/net/sky2.c 2009-09-14 09:19:48.240726224 -0700 @@ -4550,16 +4550,18 @@ static int __devinit sky2_probe(struct p if (hw->ports > 1) { struct net_device *dev1; + err = -ENOMEM; dev1 = sky2_init_netdev(hw, 1, using_dac, wol_default); - if (!dev1) - dev_warn(&pdev->dev, "allocation for second device failed\n"); - else if ((err = register_netdev(dev1))) { + if (dev1 && (err = register_netdev(dev1)) == 0) + sky2_show_addr(dev1); + else { dev_warn(&pdev->dev, "register of second port failed (%d)\n", err); hw->dev[1] = NULL; - free_netdev(dev1); - } else - sky2_show_addr(dev1); + hw->ports = 1; + if (dev1) + free_netdev(dev1); + } } setup_timer(&hw->watchdog_timer, sky2_watchdog, (unsigned long) hw);