From mboxrd@z Thu Jan 1 00:00:00 1970 From: Florian Fainelli Subject: Re: [BISECTED] v4.9: OCTEON ethernet crash Date: Wed, 14 Dec 2016 17:00:59 -0800 Message-ID: <4ca48a84-c041-d698-e55b-0c8da0fc4140@gmail.com> References: <20161215003253.un6hk2ytl3auiztn@raspberrypi-2.musicnaut.iki.fi> <20161215005751.457nm46shyjdt63q@raspberrypi-2.musicnaut.iki.fi> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: "David S. Miller" , David Daney , netdev@vger.kernel.org To: Aaro Koskinen Return-path: Received: from mail-pg0-f65.google.com ([74.125.83.65]:35551 "EHLO mail-pg0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932838AbcLOBBC (ORCPT ); Wed, 14 Dec 2016 20:01:02 -0500 Received: by mail-pg0-f65.google.com with SMTP id p66so4094790pga.2 for ; Wed, 14 Dec 2016 17:01:02 -0800 (PST) In-Reply-To: <20161215005751.457nm46shyjdt63q@raspberrypi-2.musicnaut.iki.fi> Sender: netdev-owner@vger.kernel.org List-ID: On 12/14/2016 04:57 PM, Aaro Koskinen wrote: > Hi, > > On Wed, Dec 14, 2016 at 04:41:13PM -0800, Florian Fainelli wrote: >> On 12/14/2016 04:32 PM, Aaro Koskinen wrote: >>> Git bisect points to: >>> >>> commit ec988ad78ed6d184a7f4ca6b8e962b0e8f1de461 >>> Author: Florian Fainelli >>> Date: Tue Dec 6 20:54:43 2016 -0800 >>> >>> phy: Don't increment MDIO bus refcount unless it's a different owner >>> >>> Reverting this patch from v4.9 fixes the issue... >> >> This should help: >> >> diff --git a/drivers/staging/octeon/ethernet.c >> b/drivers/staging/octeon/ethernet.c >> index 8130dfe89745..12ebc4d800c3 100644 >> --- a/drivers/staging/octeon/ethernet.c >> +++ b/drivers/staging/octeon/ethernet.c >> @@ -770,6 +770,7 @@ static int cvm_oct_probe(struct platform_device *pdev) >> /* Initialize the device private structure. */ >> struct octeon_ethernet *priv = netdev_priv(dev); >> >> + SET_NETDEV_DEV(dev, &pdev->dev); >> dev->netdev_ops = &cvm_oct_pow_netdev_ops; >> priv->imode = CVMX_HELPER_INTERFACE_MODE_DISABLED; >> priv->port = CVMX_PIP_NUM_INPUT_PORTS; > > No, it's still crashing. How about this: diff --git a/drivers/staging/octeon/ethernet.c b/drivers/staging/octeon/ethernet.c index 12ebc4d800c3..4971aa54756a 100644 --- a/drivers/staging/octeon/ethernet.c +++ b/drivers/staging/octeon/ethernet.c @@ -817,6 +817,7 @@ static int cvm_oct_probe(struct platform_device *pdev) } /* Initialize the device private structure. */ + SET_NETDEV_DEV(dev, &pdev->dev); priv = netdev_priv(dev); priv->netdev = dev; priv->of_node = cvm_oct_node_for_port(pip, interface, -- Florian