Skip site navigation (1)Skip section navigation (2)
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>