aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2005-08-25 18:31:41 -0400
committerDavid S. Miller <davem@davemloft.net>2005-08-25 18:31:41 -0400
commitd4ef16088913002255eab9958fff4e98b3b507d6 (patch)
tree3984a1dc8378d7a976be60523021036c8265a167
parent06c7427021f1cc83703f14659d8405ca773ba1ef (diff)
[TG3]: Fix ethtool loopback test lockup
The tg3_abort_hw() call in tg3_test_loopback() is causing lockups on some devices. tg3_abort_hw() disables the memory arbiter, causing tg3_reset_hw() to hang when it tries to write the pre-reset signature. tg3_abort_hw() should only be called after the pre-reset signature has been written. This is all done in tg3_reset_hw() so the tg3_abort_hw() call is unnecessary and can be removed. [ Also bump driver version and release date. -DaveM ] Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/tg3.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index 01419aff333e..6d4ab1e333b5 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -66,8 +66,8 @@
66 66
67#define DRV_MODULE_NAME "tg3" 67#define DRV_MODULE_NAME "tg3"
68#define PFX DRV_MODULE_NAME ": " 68#define PFX DRV_MODULE_NAME ": "
69#define DRV_MODULE_VERSION "3.36" 69#define DRV_MODULE_VERSION "3.37"
70#define DRV_MODULE_RELDATE "August 19, 2005" 70#define DRV_MODULE_RELDATE "August 25, 2005"
71 71
72#define TG3_DEF_MAC_MODE 0 72#define TG3_DEF_MAC_MODE 0
73#define TG3_DEF_RX_MODE 0 73#define TG3_DEF_RX_MODE 0
@@ -7865,8 +7865,6 @@ static int tg3_test_loopback(struct tg3 *tp)
7865 7865
7866 err = -EIO; 7866 err = -EIO;
7867 7867
7868 tg3_abort_hw(tp, 1);
7869
7870 tg3_reset_hw(tp); 7868 tg3_reset_hw(tp);
7871 7869
7872 mac_mode = (tp->mac_mode & ~MAC_MODE_PORT_MODE_MASK) | 7870 mac_mode = (tp->mac_mode & ~MAC_MODE_PORT_MODE_MASK) |