From 6dfa434e326babbf0209bfae01bb57424924d2a9 Mon Sep 17 00:00:00 2001
From: Wolfgang Denk <wd@pollux.denx.de>
Date: Wed, 3 Aug 2005 23:03:54 +0200
Subject: [PATCH] Ignore broadcast status bit in received frames in 8260 FCC
 ethernet loopback test code Patch by Murray Jensen, 18 Jul 2005

---
 CHANGELOG               | 4 ++++
 cpu/mpc8260/ether_fcc.c | 7 +++++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index d5139ea1038..b0b0c586a4d 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,10 @@
 Changes for U-Boot 1.1.3:
 ======================================================================
 
+* Ignore broadcast status bit in received frames in 8260 FCC ethernet
+  loopback test code
+  Patch by Murray Jensen, 18 Jul 2005
+
 * Fix typo in mkconfig script (used == instead of =)
   Patch by Murray Jensen, 18 Jul 2005
 
diff --git a/cpu/mpc8260/ether_fcc.c b/cpu/mpc8260/ether_fcc.c
index 82f73907099..0393afabc27 100644
--- a/cpu/mpc8260/ether_fcc.c
+++ b/cpu/mpc8260/ether_fcc.c
@@ -628,6 +628,9 @@ swap16 (unsigned short x)
 	return (((x & 0xff) << 8) | ((x & 0xff00) >> 8));
 }
 
+/* broadcast is not an error - we send them like that */
+#define BD_ENET_RX_ERRS	(BD_ENET_RX_STATS & ~BD_ENET_RX_BC)
+
 void
 eth_loopback_test (void)
 {
@@ -1002,7 +1005,7 @@ eth_loopback_test (void)
 							ecp->rxeacc._f++;
 					}
 
-					if (sc & BD_ENET_RX_STATS) {
+					if (sc & BD_ENET_RX_ERRS) {
 						ulong n;
 
 						/*
@@ -1033,7 +1036,7 @@ eth_loopback_test (void)
 							ecp->rxeacc.cl++;
 
 						bdp->cbd_sc &= \
-							~BD_ENET_RX_STATS;
+							~BD_ENET_RX_ERRS;
 					}
 					else {
 						ushort datlen = bdp->cbd_datlen;
-- 
GitLab