diff options
author | Paul Kocialkowski <paul.kocialkowski@bootlin.com> | 2019-02-15 17:17:08 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-02-15 20:20:10 -0800 |
commit | 197f9ab7f08ce4b9ece662f747c3991b2f0fbb57 (patch) | |
tree | 9e7cf811cb39673837209e77ab15882d481126fb | |
parent | 4974d5f678abb34401558559d47e2ea3d1c15cba (diff) |
net: phy: xgmiitorgmii: Support generic PHY status read
Some PHY drivers like the generic one do not provide a read_status
callback on their own but rely on genphy_read_status being called
directly.
With the current code, this results in a NULL function pointer call.
Call genphy_read_status instead when there is no specific callback.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/phy/xilinx_gmii2rgmii.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/phy/xilinx_gmii2rgmii.c b/drivers/net/phy/xilinx_gmii2rgmii.c index 74a8782313cf..bd6084e315de 100644 --- a/drivers/net/phy/xilinx_gmii2rgmii.c +++ b/drivers/net/phy/xilinx_gmii2rgmii.c @@ -44,7 +44,10 @@ static int xgmiitorgmii_read_status(struct phy_device *phydev) u16 val = 0; int err; - err = priv->phy_drv->read_status(phydev); + if (priv->phy_drv->read_status) + err = priv->phy_drv->read_status(phydev); + else + err = genphy_read_status(phydev); if (err < 0) return err; |