aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/skge.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/skge.c')
-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),