DragonFly-188.8.131.529.g3c6ba master sys/dev/disk/sili sili.c sili_pm.c
dillon at crater.dragonflybsd.org
Thu Jun 18 00:57:43 PDT 2009
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Thu Jun 18 00:52:45 2009 -0700
SILI - Fix port re-insertion probe problems when coming out of DET_INIT
* When a port is pulled we enter into a listen state where we program
SCTL to the DET_INIT state to send a continuous stream of COMRESETs.
When a port is plugged back in we clear the DET_INIT state. However,
we were not waiting nearly long enough for the PHY to renegotiate!
It can take up to 4 seconds!
Add a polling loop to wait for the PHY to renegotiate before we start
the DEVRESET sequence. If we start the sequence too early the PHY
will still be unstable and the DEVRESET sequence or something following
it will likely fail with a fatal error interrupt (usually error code 4).
* Reduce the physical port insertion delay to 7 seconds. Leave the
PM port insertion delay at 10 seconds.
Summary of changes:
sys/dev/disk/sili/sili.c | 24 +++++++++++++++++++++---
sys/dev/disk/sili/sili_pm.c | 20 ++++++++++++++------
2 files changed, 35 insertions(+), 9 deletions(-)
DragonFly BSD source repository
More information about the Commits