cvs commit: src/sys/dev/ep if_ep.c
mux at freebsd.org
Thu Jun 26 11:21:46 PDT 2003
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.
More information about the cvs-all