Browse Source

net: stmmac: set phy to use polling by default

mii_irq[] array is never initialized anywhere in the driver, thus mii_irq[]
will always equate to zero. So, for the case where the PHY does not have an
irq, we should use PHY_POLL for that situation.

Signed-off-by: Dinh Nguyen <dinguyen@altera.com>
Tested-by: Vince Bridgers <vbridger@altera.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Dinh Nguyen 11 years ago
parent
commit
cc80ee1360
1 changed files with 5 additions and 2 deletions
  1. 5 2
      drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c

+ 5 - 2
drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c

@@ -205,10 +205,13 @@ int stmmac_mdio_register(struct net_device *ndev)
 	if (new_bus == NULL)
 	if (new_bus == NULL)
 		return -ENOMEM;
 		return -ENOMEM;
 
 
-	if (mdio_bus_data->irqs)
+	if (mdio_bus_data->irqs) {
 		irqlist = mdio_bus_data->irqs;
 		irqlist = mdio_bus_data->irqs;
-	else
+	} else {
+		for (addr = 0; addr < PHY_MAX_ADDR; addr++)
+			priv->mii_irq[addr] = PHY_POLL;
 		irqlist = priv->mii_irq;
 		irqlist = priv->mii_irq;
+	}
 
 
 #ifdef CONFIG_OF
 #ifdef CONFIG_OF
 	if (priv->device->of_node)
 	if (priv->device->of_node)