Date: Wed, 23 Sep 1998 16:20:09 -0400 (EDT) From: Bill Paul <wpaul@skynet.ctr.columbia.edu> To: kong@kong.spb.ru (Hostas Red) Cc: gubarev@raven.itep.ru, current@FreeBSD.ORG Subject: Re: xl driver and watchdog timeouts Message-ID: <199809232020.QAA29137@skynet.ctr.columbia.edu> In-Reply-To: <Pine.BSF.3.96.980923233827.12353A-100000@kong.dorms.spbu.ru> from "Hostas Red" at Sep 23, 98 11:43:33 pm
next in thread | previous in thread | raw e-mail | index | archive | help
Of all the gin joints in all the towns in all the world, Hostas Red had to walk into mine and say: > Hi! > > On Tue, 22 Sep 1998, Bill Paul wrote: > > > Hm. Okay. I'm not sure what's going on here exactly, but if you have > > problems with a 3c905-TX that generates 'watchdog timeout' errors, > > please try the patch included at the end of this message. This patch > > was generated against the if_xl.c from FreeBSD-current, but it will > > apply to the 2.2.x version too with a little fuzz. > > I'm running current, as i said before. ;) Yes, but others may not be. > > Anyway, if you are having watchdog timeout problems, please try this > > patch and let me know what effect (if any) it has. > > Hm. It won't work ;( I can't get exactly where - i've checked if_xl.c and > it seems ok, but patch fails anyway. Maybe some whitespaces missing, or > so, still can't find it. If you tried to cut & paste the patch in an xterm, smack yourself. I'll send it to you again. To apply it, do the follwing: - save this e-mail to a file, /tmp/xl.patch - cd /sys/pci - patch < /tmp/xl.patch Do _NOT_ cut & paste the patch because you'll screw up the white space. You should have the following driver version in -current: * $Id: if_xl.c,v 1.11 1998/09/08 23:42:10 wpaul Exp $ If you don't have this, make sure to grab a fresh copy. If it fails again, SHOW ME THE ERROR MESSAGES!!! -Bill -- ============================================================================= -Bill Paul (212) 854-6020 | System Manager, Master of Unix-Fu Work: wpaul@ctr.columbia.edu | Center for Telecommunications Research Home: wpaul@skynet.ctr.columbia.edu | Columbia University, New York City ============================================================================= "It is not I who am crazy; it is I who am mad!" - Ren Hoek, "Space Madness" ============================================================================= *** if_xl.c 1998/09/08 16:05:04 1.53 --- if_xl.c 1998/09/22 15:57:54 *************** *** 2192,2219 **** } /* - * If the OACTIVE flag is set, make sure the transmitter - * isn't wedged. Call the txeoc handler to make sure the - * transmitter is enabled and then call the txeof handler - * to see if any descriptors can be reclaimed and reload - * the downlist pointer register if necessary. If after - * that the OACTIVE flag is still set, return, otherwise - * proceed and queue up some more frames. - */ - if (ifp->if_flags & IFF_OACTIVE) { - xl_txeoc(sc); - xl_txeof(sc); - if (ifp->if_flags & IFF_OACTIVE) - return; - } - - /* * Check for an available queue slot. If there are none, * punt. */ if (sc->xl_cdata.xl_tx_free == NULL) { ! ifp->if_flags |= IFF_OACTIVE; ! return; } start_tx = sc->xl_cdata.xl_tx_free; --- 2192,2207 ---- } /* * Check for an available queue slot. If there are none, * punt. */ if (sc->xl_cdata.xl_tx_free == NULL) { ! xl_txeoc(sc); ! xl_txeof(sc); ! if (sc->xl_cdata.xl_tx_free == NULL) { ! ifp->if_flags |= IFF_OACTIVE; ! return; ! } } start_tx = sc->xl_cdata.xl_tx_free; *************** *** 2653,2658 **** --- 2641,2652 ---- printf("xl%d: no carrier - transceiver cable problem?\n", sc->xl_unit); xl_txeoc(sc); + xl_txeof(sc); + xl_rxeof(sc); + xl_init(sc); + + if (ifp->if_snd.ifq_head != NULL) + xl_start(ifp); return; } To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199809232020.QAA29137>