Date: Sun, 15 Aug 2004 09:30:07 GMT From: Andrew Thompson <andy@fud.org.nz> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/70474: if_axe USB interface stops responding Message-ID: <200408150930.i7F9U7NU040128@www.freebsd.org> Resent-Message-ID: <200408150930.i7F9UK9q011913@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 70474 >Category: kern >Synopsis: if_axe USB interface stops responding >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Aug 15 09:30:20 GMT 2004 >Closed-Date: >Last-Modified: >Originator: Andrew Thompson >Release: 5.2-CURRENT >Organization: >Environment: >Description: I have a Netgear FA120 (if_axe) which is causing me greif. After doing moderate network traffic it will stop responding with oodles of "axe0: read PHY failed" on the console. A cvsup triggers it quite reliably. On further analysis I found that it will not send any ethernet frame where the size % 64 == 0 For instance all of the following will timeout ping -s 22 <host> ping -s 86 <host> ping -s 150 <host> etc... Comparing to the other USB network drivers, I added USBD_FORCE_SHORT_XFER to the transfer flags and it nas now been working reliably for months. I have not seen any throughput reduction as a result. >How-To-Repeat: >Fix: --- sys/dev/usb/if_axe.c Thu Jun 10 02:34:03 2004 +++ sys/dev/usb/if_axe.c Thu Jul 1 20:31:57 2004 @@ -808,7 +808,8 @@ c->axe_mbuf = m; usbd_setup_xfer(c->axe_xfer, sc->axe_ep[AXE_ENDPT_TX], - c, c->axe_buf, m->m_pkthdr.len, 0, 10000, axe_txeof); + c, c->axe_buf, m->m_pkthdr.len, USBD_FORCE_SHORT_XFER, + 10000, axe_txeof); /* Transmit */ err = usbd_transfer(c->axe_xfer); >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200408150930.i7F9U7NU040128>