Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 04 Jul 2003 15:26:07 +0100
From:      Mark Murray <mark@grondar.org>
To:        "M. Warner Losh" <imp@bsdimp.com>
Cc:        current@freebsd.org
Subject:   Re: 3COM ep0 pccard device broken in current. 
Message-ID:  <200307041426.h64EQ78E043181@grimreaper.grondar.org>
In-Reply-To: Your message of "Fri, 04 Jul 2003 22:04:34 %2B0900." <20030704.220434.61850465.imp@bsdimp.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
"M. Warner Losh" writes:
> In message: <200307041246.h64Cku8E042346@grimreaper.grondar.org>
>             Mark Murray <mark@grondar.org> writes:
> : "M. Warner Losh" writes:
> : > Have you gotten all of the recent changes to current wrt ep0?  It was
> : > broken by my making cbbintr mpsafe.  Well, it was broken a long time
> : > ago, my change just opened a race that used to be won, but now is
> : > lost.
> : 
> : Yup. I believe so, but please confirm where the change was to be sure?
> 
> There were two changes.  One is in pccbb.c that makes things a MPSAFE
> interrupt.  You could revert to version 1.175 of pccbb.c.

I'll play with that in a few hours when I get home.

> For ep.c, you need the following or newer

You mean if_ep.c, right?

> Revision 1.115 / (download) - annotate - [select for diffs], Thu Jun
> 26 13:27:44 2003 UTC (7 days, 23 hours ago) by mux
> Changes since 1.114: +5 -7 lines
> 
> 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

I played with this, but without playing with the pccbb.c stuff. I'll give
it a go tonight.

M

--
Mark Murray
iumop ap!sdn w,I idlaH



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