r8169: avoid needless NAPI poll scheduling
Theory : though needless, it should not have hurt.
Practice: it does not play nice with DEBUG_SHIRQ + LOCKDEP + UP
(see https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=3D242572).
The patch makes sense in itself but I should dig why it has an effect
on #242572 (assuming that NAPI do not change in a near future).
Patch in mainline as 313b0305b5.
Backported to 2.6.22-stable by Thomas M=FCller.
Signed-off-by: Thomas M=FCller <thomas@mathtm.de>
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
3b9f2ae11b
commit
c5039b587f
+9
-7
@@ -2649,14 +2649,16 @@ rtl8169_interrupt(int irq, void *dev_instance)
|
||||
rtl8169_check_link_status(dev, tp, ioaddr);
|
||||
|
||||
#ifdef CONFIG_R8169_NAPI
|
||||
RTL_W16(IntrMask, rtl8169_intr_mask & ~rtl8169_napi_event);
|
||||
tp->intr_mask = ~rtl8169_napi_event;
|
||||
if (status & rtl8169_napi_event) {
|
||||
RTL_W16(IntrMask, rtl8169_intr_mask & ~rtl8169_napi_event);
|
||||
tp->intr_mask = ~rtl8169_napi_event;
|
||||
|
||||
if (likely(netif_rx_schedule_prep(dev)))
|
||||
__netif_rx_schedule(dev);
|
||||
else if (netif_msg_intr(tp)) {
|
||||
printk(KERN_INFO "%s: interrupt %04x taken in poll\n",
|
||||
dev->name, status);
|
||||
if (likely(netif_rx_schedule_prep(dev)))
|
||||
__netif_rx_schedule(dev);
|
||||
else if (netif_msg_intr(tp)) {
|
||||
printk(KERN_INFO "%s: interrupt %04x in poll\n",
|
||||
dev->name, status);
|
||||
}
|
||||
}
|
||||
break;
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user