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>