r8169: prevent RxFIFO induced loops in the irq handler.
authorFrancois Romieu <romieu@fr.zoreil.com>
Thu, 3 Feb 2011 16:27:52 +0000 (17:27 +0100)
committerFrancois Romieu <romieu@fr.zoreil.com>
Fri, 4 Feb 2011 09:38:18 +0000 (10:38 +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 40dabe2b3dae536e8d4e1793436f775003b67e04..59ccf0c5c61009a14454e4920f3dac711d4b83c3 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: