Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Jun 2003 20:21:45 +0200
From:      Maxime Henrion <mux@freebsd.org>
To:        Nate Lawson <nate@root.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/dev/ep if_ep.c
Message-ID:  <20030626182145.GA21011@elvis.mu.org>
In-Reply-To: <20030626101347.F74937@root.org>
References:  <20030626132750.0BEB537B490@hub.freebsd.org> <20030626101347.F74937@root.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Nate Lawson wrote:
> On Thu, 26 Jun 2003, Maxime Henrion wrote:
> >   Fix a race condition that was introduced since pccbb interrupts are
> >   flag'ed INTR_MPSAFE.  In ep_if_start(), use the IF_DEQUEUE macro to
> >   grab the next mbuf to send, and use IF_PREPEND if the card is busy
> >   and we actually can't handle it right now.
> >
> >   The old code was first getting the mbuf by taking it from the queue
> >   without using the macros, thus without locking, and without removing
> >   it from the queue either.  It was later assuming that IF_DEQUEUE would
> >   give him this same mbuf.
> >
> >   Tested by:      mich
> >
> >   Revision  Changes    Path
> >   1.115     +5 -7      src/sys/dev/ep/if_ep.c
> 
> Nice debugging!  (bus(9) for this driver coming soon? :)

If someone does it, yes :-).  I don't even have ep(4) hardware here and
not enough free time to do so.

Maxime



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