Date: Sun, 10 Feb 2002 19:19:03 -0800 (PST) From: Jonathan Hanna <jhanna@shaw.ca> To: "M. Warner Losh" <imp@village.org> Cc: winter@FreeBSD.ORG, Karl.Dietz@triplan.com, hackers@FreeBSD.ORG, vs3volod@yahoo.com, silby@silby.com Subject: Re: ping: sendto: No buffer space available Message-ID: <200202110319.g1B3J3202129@207-194-143-195.dsl.axion.net> In-Reply-To: <20020210.180807.122287318.imp@village.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 11-Feb-02 M. Warner Losh wrote:
> In message: <20020210185451.Y29546-100000@patrocles.silby.com>
> Mike Silbersack <silby@silby.com> writes:
>:
>: On Sat, 9 Feb 2002, Jonathan Hanna wrote:
>:
>: >
>: > This looks like the bug in the "ep" driver. When the interrupt routine
>: > gets both TX and RX interrupts it acknowledges both but only services
>: > the read. Karl Dietz, <Karl.Dietz@TRIPLAN.com> is working on an overhaul
>: > but my quick fix is to take out the "continue" after the "epread()" in
>: > ep_intr(). The buffer talked about is actually the ep queue being full.
>: >
>: > --- if_ep.c Fri Feb 1 19:51:43 2002
>: > +++ if_ep.c.fix Sat Feb 9 12:49:31 2002
>: > @@ -571,7 +571,6 @@
>: >
>: > if (status & (S_RX_COMPLETE | S_RX_EARLY)) {
>: > epread(sc);
>: > - continue;
>: > }
>: > if (status & S_TX_AVAIL) {
>: > /* we need ACK */
>:
>: If this fix is solid, should it be applied now to the ep driver? Should
>: we wait until the driver merge is complete? I don't own any cards that
>: use the ep chipset, but if that change fixes bugs for multiple ep users I
>: wouldn't be opposed to committing it for you.
>
> I have ep ISA and PC Card devices. I can take the point on testing
> it. I figure that at least the PC Card should be tested.
>
> Also, Matt Dodd should also be contacted about the ep driver. He was
> the maintainer of the ep driver for a long time.
I did send the original message to Matt a couple of days before I mailed
-stable and -hackers. No idea if he got it.
I have not tested extensively, but it has not failed for a period that would
normally see 2-3 lockups.
From my look at the driver the issues I know of are the interrupt problem as above
and a lack of splx(x) if sc->gone in ep_intr(). From Karl: possible impending merge
with the "vx" driver.
Jonathan Hanna <jhanna@shaw.ca>
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200202110319.g1B3J3202129>
