diff options
-rw-r--r-- | drivers/net/pcnet32.c | 5 | ||||
-rw-r--r-- | drivers/net/r8169.c | 2 | ||||
-rw-r--r-- | drivers/net/sky2.c | 3 |
3 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/pcnet32.c b/drivers/net/pcnet32.c index ff92aca0a7b..90498ffe26f 100644 --- a/drivers/net/pcnet32.c +++ b/drivers/net/pcnet32.c | |||
@@ -455,9 +455,14 @@ static void pcnet32_netif_start(struct net_device *dev) | |||
455 | { | 455 | { |
456 | #ifdef CONFIG_PCNET32_NAPI | 456 | #ifdef CONFIG_PCNET32_NAPI |
457 | struct pcnet32_private *lp = netdev_priv(dev); | 457 | struct pcnet32_private *lp = netdev_priv(dev); |
458 | ulong ioaddr = dev->base_addr; | ||
459 | u16 val; | ||
458 | #endif | 460 | #endif |
459 | netif_wake_queue(dev); | 461 | netif_wake_queue(dev); |
460 | #ifdef CONFIG_PCNET32_NAPI | 462 | #ifdef CONFIG_PCNET32_NAPI |
463 | val = lp->a.read_csr(ioaddr, CSR3); | ||
464 | val &= 0x00ff; | ||
465 | lp->a.write_csr(ioaddr, CSR3, val); | ||
461 | napi_enable(&lp->napi); | 466 | napi_enable(&lp->napi); |
462 | #endif | 467 | #endif |
463 | } | 468 | } |
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index 5863190894c..af8030981f1 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c | |||
@@ -2398,6 +2398,8 @@ static void rtl8169_wait_for_quiescence(struct net_device *dev) | |||
2398 | rtl8169_irq_mask_and_ack(ioaddr); | 2398 | rtl8169_irq_mask_and_ack(ioaddr); |
2399 | 2399 | ||
2400 | #ifdef CONFIG_R8169_NAPI | 2400 | #ifdef CONFIG_R8169_NAPI |
2401 | tp->intr_mask = 0xffff; | ||
2402 | RTL_W16(IntrMask, tp->intr_event); | ||
2401 | napi_enable(&tp->napi); | 2403 | napi_enable(&tp->napi); |
2402 | #endif | 2404 | #endif |
2403 | } | 2405 | } |
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index a74fc11a648..52ec89b82f6 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c | |||
@@ -1168,6 +1168,7 @@ static void sky2_vlan_rx_register(struct net_device *dev, struct vlan_group *grp | |||
1168 | TX_VLAN_TAG_OFF); | 1168 | TX_VLAN_TAG_OFF); |
1169 | } | 1169 | } |
1170 | 1170 | ||
1171 | sky2_read32(hw, B0_Y2_SP_LISR); | ||
1171 | napi_enable(&hw->napi); | 1172 | napi_enable(&hw->napi); |
1172 | netif_tx_unlock_bh(dev); | 1173 | netif_tx_unlock_bh(dev); |
1173 | } | 1174 | } |
@@ -2043,6 +2044,7 @@ static int sky2_change_mtu(struct net_device *dev, int new_mtu) | |||
2043 | err = sky2_rx_start(sky2); | 2044 | err = sky2_rx_start(sky2); |
2044 | sky2_write32(hw, B0_IMSK, imask); | 2045 | sky2_write32(hw, B0_IMSK, imask); |
2045 | 2046 | ||
2047 | sky2_read32(hw, B0_Y2_SP_LISR); | ||
2046 | napi_enable(&hw->napi); | 2048 | napi_enable(&hw->napi); |
2047 | 2049 | ||
2048 | if (err) | 2050 | if (err) |
@@ -3861,6 +3863,7 @@ static int sky2_debug_show(struct seq_file *seq, void *v) | |||
3861 | last = sky2_read16(hw, Y2_QADDR(rxqaddr[port], PREF_UNIT_PUT_IDX)), | 3863 | last = sky2_read16(hw, Y2_QADDR(rxqaddr[port], PREF_UNIT_PUT_IDX)), |
3862 | sky2_read16(hw, Y2_QADDR(rxqaddr[port], PREF_UNIT_LAST_IDX))); | 3864 | sky2_read16(hw, Y2_QADDR(rxqaddr[port], PREF_UNIT_LAST_IDX))); |
3863 | 3865 | ||
3866 | sky2_read32(hw, B0_Y2_SP_LISR); | ||
3864 | napi_enable(&hw->napi); | 3867 | napi_enable(&hw->napi); |
3865 | return 0; | 3868 | return 0; |
3866 | } | 3869 | } |