diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/8139too.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/8139too.c b/drivers/net/8139too.c index 931028f672de..35ad5cff18e6 100644 --- a/drivers/net/8139too.c +++ b/drivers/net/8139too.c | |||
@@ -2131,14 +2131,15 @@ static int rtl8139_poll(struct net_device *dev, int *budget) | |||
2131 | } | 2131 | } |
2132 | 2132 | ||
2133 | if (done) { | 2133 | if (done) { |
2134 | unsigned long flags; | ||
2134 | /* | 2135 | /* |
2135 | * Order is important since data can get interrupted | 2136 | * Order is important since data can get interrupted |
2136 | * again when we think we are done. | 2137 | * again when we think we are done. |
2137 | */ | 2138 | */ |
2138 | local_irq_disable(); | 2139 | local_irq_save(flags); |
2139 | RTL_W16_F(IntrMask, rtl8139_intr_mask); | 2140 | RTL_W16_F(IntrMask, rtl8139_intr_mask); |
2140 | __netif_rx_complete(dev); | 2141 | __netif_rx_complete(dev); |
2141 | local_irq_enable(); | 2142 | local_irq_restore(flags); |
2142 | } | 2143 | } |
2143 | spin_unlock(&tp->rx_lock); | 2144 | spin_unlock(&tp->rx_lock); |
2144 | 2145 | ||