]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/net/ethernet/freescale/gianfar.c
gianfar: Enable eTSEC-A002 erratum w/a for all parts
[karo-tx-linux.git] / drivers / net / ethernet / freescale / gianfar.c
index c4eaadeb572fa3dcd97396afffd961f936d0189d..db5fc7b16082cc4b579cc8c84686f45088344c08 100644 (file)
@@ -947,6 +947,9 @@ static void gfar_detect_errata(struct gfar_private *priv)
        unsigned int mod = (svr >> 16) & 0xfff6; /* w/o E suffix */
        unsigned int rev = svr & 0xffff;
 
+       /* no plans to fix */
+       priv->errata |= GFAR_ERRATA_A002;
+
        /* MPC8313 Rev 2.0 and higher; All MPC837x */
        if ((pvr == 0x80850010 && mod == 0x80b0 && rev >= 0x0020) ||
            (pvr == 0x80861010 && (mod & 0xfff9) == 0x80c0))
@@ -957,11 +960,6 @@ static void gfar_detect_errata(struct gfar_private *priv)
            (pvr == 0x80861010 && (mod & 0xfff9) == 0x80c0))
                priv->errata |= GFAR_ERRATA_76;
 
-       /* MPC8313 and MPC837x all rev */
-       if ((pvr == 0x80850010 && mod == 0x80b0) ||
-           (pvr == 0x80861010 && (mod & 0xfff9) == 0x80c0))
-               priv->errata |= GFAR_ERRATA_A002;
-
        /* MPC8313 Rev < 2.0, MPC8548 rev 2.0 */
        if ((pvr == 0x80850010 && mod == 0x80b0 && rev < 0x0020) ||
            (pvr == 0x80210020 && mod == 0x8030 && rev == 0x0020))
@@ -1599,7 +1597,7 @@ static int __gfar_is_rx_idle(struct gfar_private *priv)
        /* Normaly TSEC should not hang on GRS commands, so we should
         * actually wait for IEVENT_GRSC flag.
         */
-       if (likely(!gfar_has_errata(priv, GFAR_ERRATA_A002)))
+       if (!gfar_has_errata(priv, GFAR_ERRATA_A002))
                return 0;
 
        /* Read the eTSEC register at offset 0xD1C. If bits 7-14 are