diff options
Diffstat (limited to 'drivers/net/skge.c')
-rw-r--r-- | drivers/net/skge.c | 12 |
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 | */ | ||
2636 | static void skge_mac_parity(struct skge_hw *hw, int port) | 2639 | static 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), |