Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Jun 2001 13:19:27 -0700 (PDT)
From:      Doug Ambrisko <ambrisko@ambrisko.com>
To:        Richard Johnson <raj@cisco.com>
Cc:        Tom Gwilt <tgwilt@suite224.net>, freebsd-mobile@FreeBSD.ORG
Subject:   Re: Cisco 350
Message-ID:  <200106072019.f57KJSk04448@ambrisko.com>
In-Reply-To: <15135.53743.221860.713885@kitab.cisco.com> "from Richard Johnson at Jun 7, 2001 12:11:43 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
Richard Johnson writes:
| I thought 4.3 had this fix, but maybe not.  I think Doug Abrisko's
| fixes (http://www.ambrisko.com:/doug/an/) include it, however.  At any
| rate, I think you need something like this:

This fixes the "out of sync error" not the "status structure to big"
ie. bump an_spare to:
        u_int16_t               an_spare[5];
in the 2 .h files in /sys/dev/an or in my tree just the one that it
is defined in.  I just got rid of all the dumplicate stuff in the .h 
files.  It should be in the next patch set.  BTW Cisco is releasing
a new update to their driver include a command line LEAP thing and
other things.  I'll see if it just works with my patch set.

Doug A.
 
| *** if_an.c.no-local-fixes	Thu Nov 30 00:53:55 2000
| --- if_an.c	Thu Nov 30 02:14:13 2000
| ***************
| *** 470,475 ****
| --- 470,476 ----
|   {
|   	struct ifnet		*ifp;
|   	int			id;
| + 	int			i;
|   
|   	/* TX DONE enable lan monitor DJA
|   	   an_enable_sniff();
| ***************
| *** 487,498 ****
|   	} else
|   		ifp->if_opackets++;
|   
| ! 	if (id != sc->an_rdata.an_tx_ring[sc->an_rdata.an_tx_cons])
| ! 		printf("an%d: id mismatch: expected %x, got %x\n",
| ! 		    sc->an_unit,
| ! 		    sc->an_rdata.an_tx_ring[sc->an_rdata.an_tx_cons], id);
|   
| - 	sc->an_rdata.an_tx_ring[sc->an_rdata.an_tx_cons] = 0;
|   	AN_INC(sc->an_rdata.an_tx_cons, AN_TX_RING_CNT);
|   
|   	return;
| --- 488,500 ----
|   	} else
|   		ifp->if_opackets++;
|   
| ! 	for (i = 0; i < AN_TX_RING_CNT; i++ ) {
| ! 		if (id == sc->an_rdata.an_tx_ring[i]) {
| ! 			sc->an_rdata.an_tx_ring[i] = 0;
| ! 			break;
| ! 		}
| ! 	}
|   
|   	AN_INC(sc->an_rdata.an_tx_cons, AN_TX_RING_CNT);
|   
|   	return;
| 
| 
| 
| To Unsubscribe: send mail to majordomo@FreeBSD.org
| with "unsubscribe freebsd-mobile" in the body of the message
| 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-mobile" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200106072019.f57KJSk04448>