]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 14 Mar 2011 21:17:39 +0000 (14:17 -0700)
commit f60ac8e7ab7cbb413a0131d5665b053f9f386526 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/net/r8169.c

index 3ba82e60e0504c7aabbc135db3e39e542635f073..2eda96279f8e49115ef284c56dc8b3c63049a81b 100644 (file)
@@ -4613,6 +4613,14 @@ 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:
                        /* Experimental science. Pktgen proof. */
                        case RTL_GIGA_MAC_VER_12:
                        case RTL_GIGA_MAC_VER_25: