Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Apr 2003 18:54:39 -0700 (PDT)
From:      Warner Losh <imp@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/dev/fxp if_fxp.c if_fxpvar.h
Message-ID:  <200304300154.h3U1sdLO085077@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
imp         2003/04/29 18:54:39 PDT

  FreeBSD src repository

  Modified files:
    sys/dev/fxp          if_fxp.c if_fxpvar.h 
  Log:
  Get rid of the redundant 'gone' field, and overload suspend instead.
  Check for suspend before the device polling, rather than after it.
  Check to see if the current thread owns the lock in ioctl and return
  EBUSY if it does.
  
  This advances the locking to the point that I can eject my fxp card 10
  times in a row, but I agree with Jeff Hsu that we need to get the
  network layer locking finished before chasing more of the races here
  (actually, he doesn't think this set is worth it even).  There's a
  number of races between FXP_LOCK in detach and all other users of
  FXP_LOCK, and this gets back to the 'device with sleepers being
  forcibly detached' problem as well...
  
  Revision  Changes    Path
  1.177     +11 -11    src/sys/dev/fxp/if_fxp.c
  1.27      +1 -2      src/sys/dev/fxp/if_fxpvar.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200304300154.h3U1sdLO085077>