aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@linux-foundation.org>2007-10-28 12:14:06 -0400
committerFrancois Romieu <romieu@fr.zoreil.com>2007-10-28 13:21:06 -0400
commit93dd79e87bbc98ef02610d54fe72d4a1931ee15e (patch)
treedb6b68711756de24f6b5522ece074cea52a38b80 /drivers/net
parent7fab06c0ca89d99442a4baeddf417add585e2672 (diff)
r8169: remove poll_locked logic
Disabling napi polling early is well enough. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Cc: Edward Hsu <edward_hsu@realtek.com.tw>
Diffstat (limited to 'drivers/net')
-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 c5eaf4931a91..b94fa7ef1955 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -2991,13 +2991,16 @@ static void rtl8169_down(struct net_device *dev)
2991{ 2991{
2992 struct rtl8169_private *tp = netdev_priv(dev); 2992 struct rtl8169_private *tp = netdev_priv(dev);
2993 void __iomem *ioaddr = tp->mmio_addr; 2993 void __iomem *ioaddr = tp->mmio_addr;
2994 unsigned int poll_locked = 0;
2995 unsigned int intrmask; 2994 unsigned int intrmask;
2996 2995
2997 rtl8169_delete_timer(dev); 2996 rtl8169_delete_timer(dev);
2998 2997
2999 netif_stop_queue(dev); 2998 netif_stop_queue(dev);
3000 2999
3000#ifdef CONFIG_R8169_NAPI
3001 napi_disable(&tp->napi);
3002#endif
3003
3001core_down: 3004core_down:
3002 spin_lock_irq(&tp->lock); 3005 spin_lock_irq(&tp->lock);
3003 3006
@@ -3011,13 +3014,6 @@ core_down:
3011 3014
3012 synchronize_irq(dev->irq); 3015 synchronize_irq(dev->irq);
3013 3016
3014 if (!poll_locked) {
3015#ifdef CONFIG_R8169_NAPI
3016 napi_disable(&tp->napi);
3017#endif
3018 poll_locked++;
3019 }
3020
3021 /* Give a racing hard_start_xmit a few cycles to complete. */ 3017 /* Give a racing hard_start_xmit a few cycles to complete. */
3022 synchronize_sched(); /* FIXME: should this be synchronize_irq()? */ 3018 synchronize_sched(); /* FIXME: should this be synchronize_irq()? */
3023 3019