summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2005-07-23 01:26:02 +0200
committerJeff Garzik <jgarzik@pobox.com>2005-07-31 06:40:53 +0200
commitf6620cab9485d435aa93490533b8268d36dc4526 (patch)
tree4c3b769c72dc02319244d314ad1fa0f17e3fc47a
parent[PATCH] agp: restore APBASE after setting APSIZE (diff)
downloadlinux-f6620cab9485d435aa93490533b8268d36dc4526.tar.xz
linux-f6620cab9485d435aa93490533b8268d36dc4526.zip
[PATCH] skge: silence mac data parity messages
Using Genesis board, I get harmless error reports. Rather than console error, turn it into a error counter. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
-rw-r--r--drivers/net/skge.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/net/skge.c b/drivers/net/skge.c
index 5cacc7ad9e79..1ba0ab596abd 100644
--- a/drivers/net/skge.c
+++ b/drivers/net/skge.c
@@ -2633,11 +2633,17 @@ static inline void skge_tx_intr(struct net_device *dev)
spin_unlock(&skge->tx_lock);
}
+/* Parity errors seem to happen when Genesis is connected to a switch
+ * with no other ports present. Heartbeat error??
+ */
static void skge_mac_parity(struct skge_hw *hw, int port)
{
- printk(KERN_ERR PFX "%s: mac data parity error\n",
- hw->dev[port] ? hw->dev[port]->name
- : (port == 0 ? "(port A)": "(port B"));
+ struct net_device *dev = hw->dev[port];
+
+ if (dev) {
+ struct skge_port *skge = netdev_priv(dev);
+ ++skge->net_stats.tx_heartbeat_errors;
+ }
if (hw->chip_id == CHIP_ID_GENESIS)
skge_write16(hw, SK_REG(port, TX_MFF_CTRL1),