DragonFly- master sys/dev/disk/sili sili.c sili_pm.c

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Jun 18 00:57:43 PDT 2009

commit 3c6bae9d0f544ed56e5fce6767e0792cc45a7a17
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 mailing list