nuport-mac: delay call to napi_start() until fully able to process RX
[openwrt/staging/wigyori.git] / target / linux / mcs814x / files-3.3 / drivers / net / ethernet / mcs8140 / nuport_mac.c
index a2f7ee2cd548c4adfcbec53ea49040069abf454f..b14019d578d341fbab51c48ac09ecdeb3072242a 100644 (file)
@@ -786,8 +786,6 @@ static int nuport_mac_open(struct net_device *dev)
 
        phy_start(priv->phydev);
 
-       napi_enable(&priv->napi);
-
        ret = request_irq(priv->rx_irq, &nuport_mac_rx_interrupt,
                                0, dev->name, dev);
        if (ret) {
@@ -813,6 +811,8 @@ static int nuport_mac_open(struct net_device *dev)
        ret = nuport_mac_start_rx_dma(priv, priv->rx_skb[0]);
        spin_unlock_irqrestore(&priv->lock, flags);
 
+       napi_enable(&priv->napi);
+
        return ret;
 
 out_rx_skb: