aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2007-02-13 15:18:30 -0500
committerDavid S. Miller <davem@davemloft.net>2007-02-13 15:18:30 -0500
commitb0408751128edc126eb37798d51891d8d0a41dc6 (patch)
tree2d26a34291cdc8a2facedff360b813886d4da6f9
parent569a5df8597deeaa39867be73c7305fd82522f57 (diff)
[TG3]: Add some tx timeout debug messages.
Print the most useful information during tx timeout to help debug. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/tg3.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index a1aeba2442f5..159570b12c38 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -3735,13 +3735,23 @@ out:
3735 tg3_full_unlock(tp); 3735 tg3_full_unlock(tp);
3736} 3736}
3737 3737
3738static void tg3_dump_short_state(struct tg3 *tp)
3739{
3740 printk(KERN_ERR PFX "DEBUG: MAC_TX_STATUS[%08x] MAC_RX_STATUS[%08x]\n",
3741 tr32(MAC_TX_STATUS), tr32(MAC_RX_STATUS));
3742 printk(KERN_ERR PFX "DEBUG: RDMAC_STATUS[%08x] WDMAC_STATUS[%08x]\n",
3743 tr32(RDMAC_STATUS), tr32(WDMAC_STATUS));
3744}
3745
3738static void tg3_tx_timeout(struct net_device *dev) 3746static void tg3_tx_timeout(struct net_device *dev)
3739{ 3747{
3740 struct tg3 *tp = netdev_priv(dev); 3748 struct tg3 *tp = netdev_priv(dev);
3741 3749
3742 if (netif_msg_tx_err(tp)) 3750 if (netif_msg_tx_err(tp)) {
3743 printk(KERN_ERR PFX "%s: transmit timed out, resetting\n", 3751 printk(KERN_ERR PFX "%s: transmit timed out, resetting\n",
3744 dev->name); 3752 dev->name);
3753 tg3_dump_short_state(tp);
3754 }
3745 3755
3746 schedule_work(&tp->reset_task); 3756 schedule_work(&tp->reset_task);
3747} 3757}