aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Carlson <mcarlson@broadcom.com>2011-01-25 15:58:53 +0000
committerDavid S. Miller <davem@davemloft.net>2011-01-25 19:38:19 -0800
commitaba49f2421d5287692aee961ab4ce2981fdf4939 (patch)
treeb60904d98fb5d04bd0042b0e1b0609ff90f497ee
parenttg3: Fix loopback tests (diff)
downloadlinux-dev-aba49f2421d5287692aee961ab4ce2981fdf4939.tar.xz
linux-dev-aba49f2421d5287692aee961ab4ce2981fdf4939.zip
tg3: Disable MAC loopback test for CPMU devices
On CPMU devices, the MAC loopback test does not test any important paths the phy loopback test doesn't also test. The phy loopback test is the more comprehensive test. This patch disables the MAC loopback test for these devices. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Reviewed-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/tg3.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index 9c5690366f37..f52466d2ece3 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -10840,9 +10840,11 @@ static int tg3_run_loopback(struct tg3 *tp, int loopback_mode)
if (loopback_mode == TG3_MAC_LOOPBACK) {
/* HW errata - mac loopback fails in some cases on 5780.
* Normal traffic and PHY loopback are not affected by
- * errata.
+ * errata. Also, the MAC loopback test is deprecated for
+ * all newer ASIC revisions.
*/
- if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5780)
+ if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5780 ||
+ (tp->tg3_flags & TG3_FLAG_CPMU_PRESENT))
return 0;
mac_mode = tp->mac_mode &