diff options
| -rw-r--r-- | drivers/net/Kconfig | 13 | ||||
| -rw-r--r-- | drivers/net/r8169.c | 12 |
2 files changed, 13 insertions, 12 deletions
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 86b8641b4664..72d3447fb99b 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig | |||
| @@ -166,13 +166,14 @@ config NET_SB1000 | |||
| 166 | If you don't have this card, of course say N. | 166 | If you don't have this card, of course say N. |
| 167 | 167 | ||
| 168 | config IP1000 | 168 | config IP1000 |
| 169 | tristate "IP1000 Gigabit Ethernet support" | 169 | tristate "IP1000 Gigabit Ethernet support" |
| 170 | depends on PCI && EXPERIMENTAL | 170 | depends on PCI && EXPERIMENTAL |
| 171 | ---help--- | 171 | select MII |
| 172 | This driver supports IP1000 gigabit Ethernet cards. | 172 | ---help--- |
| 173 | This driver supports IP1000 gigabit Ethernet cards. | ||
| 173 | 174 | ||
| 174 | To compile this driver as a module, choose M here: the module | 175 | To compile this driver as a module, choose M here: the module |
| 175 | will be called ipg. This is recommended. | 176 | will be called ipg. This is recommended. |
| 176 | 177 | ||
| 177 | source "drivers/net/arcnet/Kconfig" | 178 | source "drivers/net/arcnet/Kconfig" |
| 178 | 179 | ||
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index e8960f294a6e..b94fa7ef1955 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c | |||
| @@ -392,7 +392,9 @@ struct rtl8169_private { | |||
| 392 | void __iomem *mmio_addr; /* memory map physical address */ | 392 | void __iomem *mmio_addr; /* memory map physical address */ |
| 393 | struct pci_dev *pci_dev; /* Index of PCI device */ | 393 | struct pci_dev *pci_dev; /* Index of PCI device */ |
| 394 | struct net_device *dev; | 394 | struct net_device *dev; |
| 395 | #ifdef CONFIG_R8169_NAPI | ||
| 395 | struct napi_struct napi; | 396 | struct napi_struct napi; |
| 397 | #endif | ||
| 396 | spinlock_t lock; /* spin lock flag */ | 398 | spinlock_t lock; /* spin lock flag */ |
| 397 | u32 msg_enable; | 399 | u32 msg_enable; |
| 398 | int chipset; | 400 | int chipset; |
| @@ -2989,13 +2991,16 @@ static void rtl8169_down(struct net_device *dev) | |||
| 2989 | { | 2991 | { |
| 2990 | struct rtl8169_private *tp = netdev_priv(dev); | 2992 | struct rtl8169_private *tp = netdev_priv(dev); |
| 2991 | void __iomem *ioaddr = tp->mmio_addr; | 2993 | void __iomem *ioaddr = tp->mmio_addr; |
| 2992 | unsigned int poll_locked = 0; | ||
| 2993 | unsigned int intrmask; | 2994 | unsigned int intrmask; |
| 2994 | 2995 | ||
| 2995 | rtl8169_delete_timer(dev); | 2996 | rtl8169_delete_timer(dev); |
| 2996 | 2997 | ||
| 2997 | netif_stop_queue(dev); | 2998 | netif_stop_queue(dev); |
| 2998 | 2999 | ||
| 3000 | #ifdef CONFIG_R8169_NAPI | ||
| 3001 | napi_disable(&tp->napi); | ||
| 3002 | #endif | ||
| 3003 | |||
| 2999 | core_down: | 3004 | core_down: |
| 3000 | spin_lock_irq(&tp->lock); | 3005 | spin_lock_irq(&tp->lock); |
| 3001 | 3006 | ||
| @@ -3009,11 +3014,6 @@ core_down: | |||
| 3009 | 3014 | ||
| 3010 | synchronize_irq(dev->irq); | 3015 | synchronize_irq(dev->irq); |
| 3011 | 3016 | ||
| 3012 | if (!poll_locked) { | ||
| 3013 | napi_disable(&tp->napi); | ||
| 3014 | poll_locked++; | ||
| 3015 | } | ||
| 3016 | |||
| 3017 | /* Give a racing hard_start_xmit a few cycles to complete. */ | 3017 | /* Give a racing hard_start_xmit a few cycles to complete. */ |
| 3018 | synchronize_sched(); /* FIXME: should this be synchronize_irq()? */ | 3018 | synchronize_sched(); /* FIXME: should this be synchronize_irq()? */ |
| 3019 | 3019 | ||
