Bug 7438

Summary: tg3 re-confuration fails
Product: Drivers Reporter: Manfred Wimmer (burkal)
Component: NetworkAssignee: Michael Chan (mchan)
Status: RESOLVED CODE_FIX    
Severity: normal    
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: > 2.6.16 Subsystem:
Regression: --- Bisected commit-id:

Description Manfred Wimmer 2006-10-31 07:20:57 UTC
Most recent kernel where this bug did not occur: 2.6.16
Distribution: Debian / sid, unstable
Hardware Environment: Thinkpad Z61p
Software Environment: 
Problem Description: network configuration only succeeds the first time. affer
an ifdown/ifup the network doesnt work anymore, without any messages in dmesg or
log files

Steps to reproduce:
ifdown/ifup eth0 (or equivalent)
Comment 1 Michael Chan 2006-10-31 12:52:14 UTC
After 1st ifup when the device is working, run ethtool -t eth0 to test the 
device.  After ifdown and 2nd ifup, run ethtool -t eth0 again.  Compare and 
post the test results.
Comment 2 Michael Chan 2006-11-02 12:03:24 UTC
The problem is caused by tg3_close() turning off the PHY.  On the next ifup, 
some of the register initializations take no effect because the PHY clock isn't 
available.  The following patch should fix this issue by performing a PHY reset 
early in the sequence.

http://marc.theaimsgroup.com/?l=linux-netdev&m=116249817612181&w=2