On Wed, 26 Apr 2017, Riccardo Mottola wrote:

and I experience wired network unreliability, I get continuous watchdog timeouts, I see in dmesg:

Does this patch help?


Index: sys/dev/ic/rtl8169.c
===================================================================
RCS file: /cvsroot/src/sys/dev/ic/rtl8169.c,v
retrieving revision 1.150
diff -u -p -r1.150 rtl8169.c
--- sys/dev/ic/rtl8169.c        19 Apr 2017 00:20:02 -0000      1.150
+++ sys/dev/ic/rtl8169.c        26 Apr 2017 10:26:21 -0000
@@ -585,7 +585,7 @@ re_attach(struct rtk_softc *sc)
                case RTK_HWREV_8168D:
                case RTK_HWREV_8168DP:
                        sc->sc_quirk |= RTKQ_DESCV2 | RTKQ_NOEECMD |
-                           RTKQ_MACSTAT | RTKQ_CMDSTOP;
+                           RTKQ_MACSTAT | RTKQ_CMDSTOP | RTKQ_IM_HW;
                        /*
                         * From FreeBSD driver:
                         *
@@ -606,12 +606,13 @@ re_attach(struct rtk_softc *sc)
                case RTK_HWREV_8168H_SPIN1:
                        sc->sc_quirk |= RTKQ_DESCV2 | RTKQ_NOEECMD |
                            RTKQ_MACSTAT | RTKQ_CMDSTOP | RTKQ_PHYWAKE_PM |
-                           RTKQ_NOJUMBO;
+                           RTKQ_NOJUMBO | RTKQ_IM_HW;
                        break;
                case RTK_HWREV_8168E_VL:
                case RTK_HWREV_8168F:
                        sc->sc_quirk |= RTKQ_DESCV2 | RTKQ_NOEECMD |
-                           RTKQ_MACSTAT | RTKQ_CMDSTOP | RTKQ_NOJUMBO;
+                           RTKQ_MACSTAT | RTKQ_CMDSTOP | RTKQ_NOJUMBO |
+                           RTKQ_IM_HW;
                        break;
                case RTK_HWREV_8168G:
                case RTK_HWREV_8168G_SPIN1:
@@ -619,7 +620,7 @@ re_attach(struct rtk_softc *sc)
                case RTK_HWREV_8168G_SPIN4:
                        sc->sc_quirk |= RTKQ_DESCV2 | RTKQ_NOEECMD |
RTKQ_MACSTAT | RTKQ_CMDSTOP | RTKQ_NOJUMBO | - RTKQ_RXDV_GATED;
+                           RTKQ_RXDV_GATED | RTKQ_IM_HW;
                        break;
                case RTK_HWREV_8100E:
                case RTK_HWREV_8100E_SPIN2:
Index: sys/dev/pci/if_re_pci.c
===================================================================
RCS file: /cvsroot/src/sys/dev/pci/if_re_pci.c,v
retrieving revision 1.46
diff -u -p -r1.46 if_re_pci.c
--- sys/dev/pci/if_re_pci.c     19 Apr 2017 00:20:02 -0000      1.46
+++ sys/dev/pci/if_re_pci.c     26 Apr 2017 10:26:21 -0000
@@ -240,9 +240,6 @@ re_pci_attach(device_t parent, device_t
            t->rtk_basetype == RTK_8101E)
                sc->sc_quirk |= RTKQ_PCIE;

-       if (t->rtk_basetype == RTK_8168)
-               sc->sc_quirk |= RTKQ_IM_HW;
-
        if (pci_dma64_available(pa) && (sc->sc_quirk & RTKQ_PCIE))
                sc->sc_dmat = pa->pa_dmat64;
        else

Reply via email to