summaryrefslogtreecommitdiffstats
path: root/drivers/net/pasemi_mac_ethtool.c
diff options
context:
space:
mode:
authorValentine Barshak <vbarshak@ru.mvista.com>2009-10-05 03:27:56 +0000
committerDavid S. Miller <davem@davemloft.net>2009-10-07 03:37:43 -0700
commit49682864b0270a0578b8321ed2686dc471ec37f1 (patch)
tree3e1ab028bf5954bb795395a993808809000ba45d /drivers/net/pasemi_mac_ethtool.c
parent6e43650cee644b5d7957ecd50f1e41ff71f87734 (diff)
downloadlinux-49682864b0270a0578b8321ed2686dc471ec37f1.tar.gz
linux-49682864b0270a0578b8321ed2686dc471ec37f1.tar.bz2
linux-49682864b0270a0578b8321ed2686dc471ec37f1.zip
pasemi_mac: ethtool get settings fix
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 <vbarshak@ru.mvista.com> Acked-by: Olof Johansson <olof@lixom.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/pasemi_mac_ethtool.c')
-rw-r--r--drivers/net/pasemi_mac_ethtool.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/pasemi_mac_ethtool.c b/drivers/net/pasemi_mac_ethtool.c
index 064a4fe1dd90..28a86224879d 100644
--- a/drivers/net/pasemi_mac_ethtool.c
+++ b/drivers/net/pasemi_mac_ethtool.c
@@ -71,6 +71,9 @@ pasemi_mac_ethtool_get_settings(struct net_device *netdev,
struct pasemi_mac *mac = netdev_priv(netdev);
struct phy_device *phydev = mac->phydev;
+ if (!phydev)
+ return -EOPNOTSUPP;
+
return phy_ethtool_gset(phydev, cmd);
}