From patchwork Mon Oct 5 13:27:56 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Valentine Barshak X-Patchwork-Id: 35011 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from bilbo.ozlabs.org (localhost [127.0.0.1]) by ozlabs.org (Postfix) with ESMTP id 9A70BB7E49 for ; Tue, 6 Oct 2009 00:28:12 +1100 (EST) Received: by ozlabs.org (Postfix) id 51F4CB7BCA; Tue, 6 Oct 2009 00:28:06 +1100 (EST) Delivered-To: linuxppc-dev@ozlabs.org Received: from localhost.localdomain (unknown [93.100.123.135]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 956E2B7B9C for ; Tue, 6 Oct 2009 00:28:05 +1100 (EST) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by localhost.localdomain (8.14.3/8.14.3) with ESMTP id n95DS01Q011714; Mon, 5 Oct 2009 17:28:00 +0400 Received: (from vaxon@localhost) by localhost.localdomain (8.14.3/8.14.3/Submit) id n95DRuWX011712; Mon, 5 Oct 2009 17:27:56 +0400 X-Authentication-Warning: localhost.localdomain: vaxon set sender to vbarshak@ru.mvista.com using -f Date: Mon, 5 Oct 2009 17:27:56 +0400 From: Valentine Barshak To: Olof Johansson Subject: [PATCH] pasemi_mac: ethtool get settings fix Message-ID: <20091005132756.GA11704@ru.mvista.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <4AC9ED9B.5040400@ru.mvista.com> User-Agent: Mutt/1.5.18 (2008-05-17) Cc: linuxppc-dev@ozlabs.org, jgarzik@pobox.com, netdev@vger.kernel.org X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Not all pasemi mac interfaces can have a phy attached. For example, XAUI has no phy and phydev is NULL for it. In this case ethtool get settings causes kernel crash. Fix it by returning -EOPNOTSUPP if there's no PHY attached. Signed-off-by: Valentine Barshak Acked-by: Olof Johansson --- drivers/net/pasemi_mac_ethtool.c | 3 +++ 1 file changed, 3 insertions(+) diff -pruN linux-2.6.orig/drivers/net/pasemi_mac_ethtool.c linux-2.6/drivers/net/pasemi_mac_ethtool.c --- linux-2.6.orig/drivers/net/pasemi_mac_ethtool.c 2009-02-14 03:23:08.000000000 +0300 +++ linux-2.6/drivers/net/pasemi_mac_ethtool.c 2009-10-05 16:21:52.000000000 +0400 @@ -71,6 +71,9 @@ pasemi_mac_ethtool_get_settings(struct n struct pasemi_mac *mac = netdev_priv(netdev); struct phy_device *phydev = mac->phydev; + if (!phydev) + return -EOPNOTSUPP; + return phy_ethtool_gset(phydev, cmd); }