nuport-mac: rework PHY interrupt configuration to avoid races

SVN-Revision: 33070
owl
Florian Fainelli 2012-08-08 21:51:18 +00:00
parent 5e877f02b4
commit 7f9bfa3fcd
1 changed files with 7 additions and 7 deletions

View File

@ -765,7 +765,12 @@ static int nuport_mac_open(struct net_device *dev)
goto out_emac_clk; goto out_emac_clk;
} }
phy_start(priv->phydev); ret = request_irq(priv->tx_irq, &nuport_mac_tx_interrupt,
0, dev->name, dev);
if (ret) {
netdev_err(dev, "unable to request rx interrupt\n");
goto out_link_irq;
}
/* Enable link interrupt monitoring for our PHY address */ /* Enable link interrupt monitoring for our PHY address */
reg = LINK_INT_EN | (priv->phydev->addr << LINK_PHY_ADDR_SHIFT); reg = LINK_INT_EN | (priv->phydev->addr << LINK_PHY_ADDR_SHIFT);
@ -779,12 +784,7 @@ static int nuport_mac_open(struct net_device *dev)
nuport_mac_writel(LINK_POLL_MASK, LINK_INT_POLL_TIME); nuport_mac_writel(LINK_POLL_MASK, LINK_INT_POLL_TIME);
spin_unlock_irqrestore(&priv->lock, flags); spin_unlock_irqrestore(&priv->lock, flags);
ret = request_irq(priv->tx_irq, &nuport_mac_tx_interrupt, phy_start(priv->phydev);
0, dev->name, dev);
if (ret) {
netdev_err(dev, "unable to request rx interrupt\n");
goto out_link_irq;
}
napi_enable(&priv->napi); napi_enable(&priv->napi);