aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/net/r8169.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index c5eaf4931a9..b94fa7ef195 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -2991,13 +2991,16 @@ static void rtl8169_down(struct net_device *dev)
{
struct rtl8169_private *tp = netdev_priv(dev);
void __iomem *ioaddr = tp->mmio_addr;
- unsigned int poll_locked = 0;
unsigned int intrmask;
rtl8169_delete_timer(dev);
netif_stop_queue(dev);
+#ifdef CONFIG_R8169_NAPI
+ napi_disable(&tp->napi);
+#endif
+
core_down:
spin_lock_irq(&tp->lock);
@@ -3011,13 +3014,6 @@ core_down:
synchronize_irq(dev->irq);
- if (!poll_locked) {
-#ifdef CONFIG_R8169_NAPI
- napi_disable(&tp->napi);
-#endif
- poll_locked++;
- }
-
/* Give a racing hard_start_xmit a few cycles to complete. */
synchronize_sched(); /* FIXME: should this be synchronize_irq()? */