[TG3]: Fix 2nd ifup failure on 5752M.
authorMichael Chan <mchan@broadcom.com>
Fri, 3 Nov 2006 09:01:03 +0000 (01:01 -0800)
committerDavid S. Miller <davem@sunset.davemloft.net>
Sun, 5 Nov 2006 22:11:30 +0000 (14:11 -0800)
commit36da4d869f23bc7d1a70a3185218cb626537845c
tree87ca921f64c2e10d24adbd5fb75cd40b651d1f9c
parentfebf0a431e42f5a1fdb2b763273700610552ddcc
[TG3]: Fix 2nd ifup failure on 5752M.

This fixes a bug reported in:

http://bugzilla.kernel.org/show_bug.cgi?id=7438

tg3_close() turns off the PHY if WoL and ASF are both disabled.  On
the next tg3_open(), some devices such as the 5752M will not be
brought up correctly without a PHY reset early in the reset sequence.
The PHY clock is needed for some internal MAC blocks to function
correctly.

This problem is fixed by always resetting the PHY early in
tg3_reset_hw() when it is called from tg3_open() or tg3_resume().
tg3_setup_phy() can then be called later in the sequence without the
reset_phy parameter set to 1, since the PHY reset is already done.

Update version to 3.68.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/tg3.c