From: Jesse Huang <[EMAIL PROTECTED]>

This is a bug when Tx underrun happen, Tx reset without IPG_AC_FIFO will
cause Tx hold and can't transmit packet again.

Change Logs:
   1. Tx reset when Tx Under run will cause Tx fail
   2. ipg_nic_txcleanup() add "IPG_AC_FIFO" when Tx reset

---

 drivers/net/ipg.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

7e88cf9432ea466a76f7b26d11a280300c8735f2
diff --git a/drivers/net/ipg.c b/drivers/net/ipg.c
index 56ffc80..ae22fa8 100644
--- a/drivers/net/ipg.c
+++ b/drivers/net/ipg.c
@@ -1036,7 +1036,7 @@ static void ipg_nic_txcleanup(struct net
                                IPG_DEBUG_MSG("Transmitter underrun.\n");
                                sp->stats.tx_fifo_errors++;
                                ipg_reset(dev, IPG_AC_TX_RESET |
-                                         IPG_AC_DMA | IPG_AC_NETWORK);
+                                         IPG_AC_DMA | IPG_AC_NETWORK| 
IPG_AC_FIFO);
 
                                /* Re-configure after DMA reset. */
                                if ((ipg_io_config(dev) < 0) ||
-- 
1.3.GIT



-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to