On Tuesday 24 July 2007, Chris Kuethe wrote: > On 7/24/07, Charlie Farinella <[EMAIL PROTECTED]> wrote: > > Thank you, I think this will solve my problem, but I have no idea how to > > proceed. I assume I need to recompile the kernel and swap out the new > > if_bge.c file for the one included with the OS. Is that correct? I've > > looked briefly at docs and some how-to's but haven't seen any specific > > instructions. If anyone knows of some documentation for this, a > > pointer would be appreciated. > > much like the instructions at the beginning of other patches... > general information on how to patch an openbsd is in the FAQ > http://www.openbsd.org/faq/faq10.html#Patches > http://www.openbsd.org/faq/faq5.html#Building
For anyone else with the same problem: I ended up downloading the entire /sys directory from current, then compile and install. That worked! Thanks to all for your help. :-) > let me know if this doesn't apply or doesn't work. > > save the diff below (into /tmp/bgediff, for example) > cd /sys/dev/pci > patch -C < /tmp/bgediff (check that the diff would apply correctly) > patch < /tmp/bgediff > cd /sys/arch/i386/conf/ (assuming you're running i386) > config GENERIC > cd ../compile/GENERIC > make clean depend bsd > make install > reboot > > > Index: if_bge.c > =================================================================== > RCS file: /cvs/src/sys/dev/pci/if_bge.c,v > Retrieving revision 1.211 > Retrieving revision 1.212 > server -u -N -p -r1.211 -r1.212 if_bge.c > --- if_bge.c 24 Jul 2007 14:42:55 1.211 > +++ if_bge.c 24 Jul 2007 14:42:55 1.212 > @@ -1384,16 +1384,21 @@ bge_blockinit(struct bge_softc *sc) > } > > /* > - * Set the BD ring replentish thresholds. The recommended > + * Set the BD ring replenish thresholds. The recommended > * values are 1/8th the number of descriptors allocated to > * each ring. > */ > i = BGE_STD_RX_RING_CNT / 8; > > - /* Use a value of 8 for these chips to workaround HW errata */ > + /* > + * Use a value of 8 for the following chips to workaround HW errata. > + * Some of these chips have been added based on empirical > + * evidence (they don't work unless this is done). > + */ > if (BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5750 || > BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5752 || > - BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5755) > + BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5755 || > + BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5787) > i = 8; > > CSR_WRITE_4(sc, BGE_RBDI_STD_REPL_THRESH, i); > > -- > GDB has a 'break' feature; why doesn't it have 'fix' too? > > > -- ------------------------------------------------------------------------ Charles Farinella Appropriate Solutions, Inc. (www.AppropriateSolutions.com) [EMAIL PROTECTED] voice: 603.924.6079 fax: 603.924.8668