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>