If the interrupt configuration isn't set and we are using the
internal phy, then we need to poll the phy to reliably detect
phy state changes.

Signed-off-by: Jeremy Linton <jeremy.lin...@arm.com>
---
 drivers/net/ethernet/smsc/smsc911x.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/ethernet/smsc/smsc911x.c 
b/drivers/net/ethernet/smsc/smsc911x.c
index 8af2556..369dc7d 100644
--- a/drivers/net/ethernet/smsc/smsc911x.c
+++ b/drivers/net/ethernet/smsc/smsc911x.c
@@ -1020,6 +1020,9 @@ static int smsc911x_mii_probe(struct net_device *dev)
                return -ENODEV;
        }
 
+       if ((!phydev->irq) && (!pdata->using_extphy))
+               phydev->irq = PHY_POLL;
+
        SMSC_TRACE(pdata, probe, "PHY: addr %d, phy_id 0x%08X",
                   phydev->mdio.addr, phydev->phy_id);
 
-- 
2.5.5

Reply via email to