diff options
author | Florian Fainelli <f.fainelli@gmail.com> | 2016-12-14 20:13:24 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-01-03 11:11:50 -0500 |
commit | e7c9a3d9e432200fd4c17855c2c23ac784d6e833 (patch) | |
tree | 0c9f19bcb1d57a6f1903580808f37dc7bd768bc3 /drivers | |
parent | 890b73af6b008a7d59bdbab2dd59bd7b212dbc60 (diff) |
staging: octeon: Call SET_NETDEV_DEV()
The Octeon driver calls into PHYLIB which now checks for
net_device->dev.parent, so make sure we do set it before calling into
any MDIO/PHYLIB related function.
Fixes: ec988ad78ed6 ("phy: Don't increment MDIO bus refcount unless it's a different owner")
Reported-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Cc: stable <stable@vger.kernel.org> # 4.9+
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/staging/octeon/ethernet.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/staging/octeon/ethernet.c b/drivers/staging/octeon/ethernet.c index 8130dfe89745..4971aa54756a 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) | |||
770 | /* Initialize the device private structure. */ | 770 | /* Initialize the device private structure. */ |
771 | struct octeon_ethernet *priv = netdev_priv(dev); | 771 | struct octeon_ethernet *priv = netdev_priv(dev); |
772 | 772 | ||
773 | SET_NETDEV_DEV(dev, &pdev->dev); | ||
773 | dev->netdev_ops = &cvm_oct_pow_netdev_ops; | 774 | dev->netdev_ops = &cvm_oct_pow_netdev_ops; |
774 | priv->imode = CVMX_HELPER_INTERFACE_MODE_DISABLED; | 775 | priv->imode = CVMX_HELPER_INTERFACE_MODE_DISABLED; |
775 | priv->port = CVMX_PIP_NUM_INPUT_PORTS; | 776 | priv->port = CVMX_PIP_NUM_INPUT_PORTS; |
@@ -816,6 +817,7 @@ static int cvm_oct_probe(struct platform_device *pdev) | |||
816 | } | 817 | } |
817 | 818 | ||
818 | /* Initialize the device private structure. */ | 819 | /* Initialize the device private structure. */ |
820 | SET_NETDEV_DEV(dev, &pdev->dev); | ||
819 | priv = netdev_priv(dev); | 821 | priv = netdev_priv(dev); |
820 | priv->netdev = dev; | 822 | priv->netdev = dev; |
821 | priv->of_node = cvm_oct_node_for_port(pip, interface, | 823 | priv->of_node = cvm_oct_node_for_port(pip, interface, |