On 11-Feb-02 M. Warner Losh wrote: > In message: <[EMAIL PROTECTED]> > Mike Silbersack <[EMAIL PROTECTED]> 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, <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message