aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2005-07-22 19:26:02 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-07-31 00:40:53 -0400
commitf6620cab9485d435aa93490533b8268d36dc4526 (patch)
tree4c3b769c72dc02319244d314ad1fa0f17e3fc47a /drivers/net
parentb0825488a642cadcf39709961dde61440cb0731c (diff)
[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>
Diffstat (limited to 'drivers/net')
-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)
2633 spin_unlock(&skge->tx_lock); 2633 spin_unlock(&skge->tx_lock);
2634} 2634}
2635 2635
2636/* Parity errors seem to happen when Genesis is connected to a switch
2637 * with no other ports present. Heartbeat error??
2638 */
2636static void skge_mac_parity(struct skge_hw *hw, int port) 2639static void skge_mac_parity(struct skge_hw *hw, int port)
2637{ 2640{
2638 printk(KERN_ERR PFX "%s: mac data parity error\n", 2641 struct net_device *dev = hw->dev[port];
2639 hw->dev[port] ? hw->dev[port]->name 2642
2640 : (port == 0 ? "(port A)": "(port B")); 2643 if (dev) {
2644 struct skge_port *skge = netdev_priv(dev);
2645 ++skge->net_stats.tx_heartbeat_errors;
2646 }
2641 2647
2642 if (hw->chip_id == CHIP_ID_GENESIS) 2648 if (hw->chip_id == CHIP_ID_GENESIS)
2643 skge_write16(hw, SK_REG(port, TX_MFF_CTRL1), 2649 skge_write16(hw, SK_REG(port, TX_MFF_CTRL1),