Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d4ef1608 authored by Michael Chan's avatar Michael Chan Committed by David S. Miller
Browse files

[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: default avatarMichael Chan <mchan@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 06c74270
Loading
Loading
Loading
Loading
+2 −4
Original line number Original line Diff line number Diff line
@@ -66,8 +66,8 @@


#define DRV_MODULE_NAME		"tg3"
#define DRV_MODULE_NAME		"tg3"
#define PFX DRV_MODULE_NAME	": "
#define PFX DRV_MODULE_NAME	": "
#define DRV_MODULE_VERSION	"3.36"
#define DRV_MODULE_VERSION	"3.37"
#define DRV_MODULE_RELDATE	"August 19, 2005"
#define DRV_MODULE_RELDATE	"August 25, 2005"


#define TG3_DEF_MAC_MODE	0
#define TG3_DEF_MAC_MODE	0
#define TG3_DEF_RX_MODE		0
#define TG3_DEF_RX_MODE		0
@@ -7865,8 +7865,6 @@ static int tg3_test_loopback(struct tg3 *tp)


	err = -EIO;
	err = -EIO;


	tg3_abort_hw(tp, 1);

	tg3_reset_hw(tp);
	tg3_reset_hw(tp);


	mac_mode = (tp->mac_mode & ~MAC_MODE_PORT_MODE_MASK) |
	mac_mode = (tp->mac_mode & ~MAC_MODE_PORT_MODE_MASK) |