r8169: prevent RxFIFO induced loops in the irq handler.
Francois Romieu [Thu, 3 Feb 2011 16:27:52 +0000 (17:27 +0100)]
While the RxFIFO interruption is masked for most 8168, nothing prevents
it to appear in the irq status word. This is no excuse to crash.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Ivan Vecera <ivecera@redhat.com>
Cc: Hayes <hayeswang@realtek.com>

drivers/net/r8169.c

index 40dabe2..59ccf0c 100644 (file)
@@ -4650,6 +4650,15 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)
                                netif_stop_queue(dev);
                                rtl8169_tx_timeout(dev);
                                goto done;
+                       /* Testers needed. */
+                       case RTL_GIGA_MAC_VER_17:
+                       case RTL_GIGA_MAC_VER_19:
+                       case RTL_GIGA_MAC_VER_20:
+                       case RTL_GIGA_MAC_VER_21:
+                       case RTL_GIGA_MAC_VER_23:
+                       case RTL_GIGA_MAC_VER_24:
+                       case RTL_GIGA_MAC_VER_27:
+                       case RTL_GIGA_MAC_VER_28:
                        /* Experimental science. Pktgen proof. */
                        case RTL_GIGA_MAC_VER_12:
                        case RTL_GIGA_MAC_VER_25: