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-12 05:39:05 -0500 |
| commit | 755259ba2a3a40f67d36325a1b34d8f0a1d63894 (patch) | |
| tree | 0f91f5d9a08221890acf152c9083d2b37edb94d7 /drivers/staging | |
| parent | ea991c8354c3dab7f7fe6c3a747bc473b9c935e2 (diff) | |
staging: octeon: Call SET_NETDEV_DEV()
commit e7c9a3d9e432200fd4c17855c2c23ac784d6e833 upstream.
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>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging')
| -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 d02e3e31ed29..12354440a334 100644 --- a/drivers/staging/octeon/ethernet.c +++ b/drivers/staging/octeon/ethernet.c | |||
| @@ -776,6 +776,7 @@ static int cvm_oct_probe(struct platform_device *pdev) | |||
| 776 | /* Initialize the device private structure. */ | 776 | /* Initialize the device private structure. */ |
| 777 | struct octeon_ethernet *priv = netdev_priv(dev); | 777 | struct octeon_ethernet *priv = netdev_priv(dev); |
| 778 | 778 | ||
| 779 | SET_NETDEV_DEV(dev, &pdev->dev); | ||
| 779 | dev->netdev_ops = &cvm_oct_pow_netdev_ops; | 780 | dev->netdev_ops = &cvm_oct_pow_netdev_ops; |
| 780 | priv->imode = CVMX_HELPER_INTERFACE_MODE_DISABLED; | 781 | priv->imode = CVMX_HELPER_INTERFACE_MODE_DISABLED; |
| 781 | priv->port = CVMX_PIP_NUM_INPUT_PORTS; | 782 | priv->port = CVMX_PIP_NUM_INPUT_PORTS; |
| @@ -820,6 +821,7 @@ static int cvm_oct_probe(struct platform_device *pdev) | |||
| 820 | } | 821 | } |
| 821 | 822 | ||
| 822 | /* Initialize the device private structure. */ | 823 | /* Initialize the device private structure. */ |
| 824 | SET_NETDEV_DEV(dev, &pdev->dev); | ||
| 823 | priv = netdev_priv(dev); | 825 | priv = netdev_priv(dev); |
| 824 | priv->netdev = dev; | 826 | priv->netdev = dev; |
| 825 | priv->of_node = cvm_oct_node_for_port(pip, interface, | 827 | priv->of_node = cvm_oct_node_for_port(pip, interface, |
