[mcs814x] nuport-mac: rework PHY interrupt configuration to avoid races
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33070 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
6f503e42e0
commit
9ded359521
|
@ -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);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue