Many thanks to all of you for the debugging and help! I'll check the diff asap and report back. Thanks again!!! B Holger ;-se
Jonathan Gray <[email protected]> hat am 4. August 2010 um 17:12 geschrieben: > On Wed, Aug 04, 2010 at 08:17:00PM +1000, Jonathan Gray wrote: > > On Tue, Aug 03, 2010 at 11:12:01PM +0100, Stuart Henderson wrote: > > > Do you know what the last working kernel was? > > > > > > I have an archive of old kernels if you want to track it down > > > without > > > the cvs up -D / compile dance, mail me offlist. > > > > broken: > > OpenBSD 4.7-current (GENERIC) #104: Thu JulB 8 16:47:03 MDT 2010 > > > > works: > > OpenBSD 4.7-current (GENERIC) #98: Wed JulB 7 18:25:12 MDT 2010 > > > > I don't see how it could be an em problem as there are no commits > > in this window and all the commits either side of it are chip > > specific to other chips. > > With a lot of help debugging from Mike Belopuhov, turns out to be > am em bug in the original support for these chips from dms > that gcc4 exposes. > > There seems to be a seperate problem with linkstate but > a NA200 boots and all the ports can pass traffic with this diff. > > Index: if_em.c > =================================================================== > RCS file: /cvs/src/sys/dev/pci/if_em.c,v > retrieving revision 1.242 > diff -u -p -r1.242 if_em.c > --- if_em.cB B B B 3 Aug 2010 16:21:52 -0000B B B B 1.242 > +++ if_em.cB B B B 4 Aug 2010 15:00:35 -0000 > @@ -1648,12 +1648,11 @@ em_allocate_pci_resources(struct em_soft >B B B B B B * can confuse the system >B B B B B B */ >B B B B B if(sc->hw.mac_type == em_icp_xxxx) { > -B B B B B B B B uint8_t offset; > +B B B B B B B B int offset; >B B B B B B B B B pcireg_t val; >B B B B B B B B B >B B B B B B B B B if (!pci_get_capability(sc->osdep.em_pa.pa_pc, > -B B B B B B B B B B sc->osdep.em_pa.pa_tag, PCI_CAP_ID_ST, (int*) > &offset, > -B B B B B B B B B B &val)) { > +B B B B B B B B B B sc->osdep.em_pa.pa_tag, PCI_CAP_ID_ST, &offset, > &val)) { >B B B B B B B B B B B B B return (0); >B B B B B B B B B } >B B B B B B B B B offset += PCI_ST_SMIA_OFFSET;
