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;

Reply via email to