Message ID | 20091001222748.GA21276@ru.mvista.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Resending pasemi_mac ethtool patches... Valentine Barshak wrote: > 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> > --- > drivers/net/pasemi_mac_ethtool.c | 2 ++ > 1 file changed, 2 insertions(+) > > --- linux-2.6.21.orig/drivers/net/pasemi_mac_ethtool.c 2008-11-06 18:10:38.000000000 +0300 > +++ linux-2.6.21/drivers/net/pasemi_mac_ethtool.c 2008-11-19 19:24:28.000000000 +0300 > @@ -71,6 +71,8 @@ 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); > } > > _______________________________________________ > Linuxppc-dev mailing list > Linuxppc-dev@lists.ozlabs.org > https://lists.ozlabs.org/listinfo/linuxppc-dev
--- linux-2.6.21.orig/drivers/net/pasemi_mac_ethtool.c 2008-11-06 18:10:38.000000000 +0300 +++ linux-2.6.21/drivers/net/pasemi_mac_ethtool.c 2008-11-19 19:24:28.000000000 +0300 @@ -71,6 +71,8 @@ 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); }
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> --- drivers/net/pasemi_mac_ethtool.c | 2 ++ 1 file changed, 2 insertions(+)