Date: Tue, 12 Oct 2010 13:11:29 -0700 From: Garrett Cooper <gcooper@FreeBSD.org> To: pyunyh@gmail.com Cc: freebsd-current@freebsd.org, Steve Kargl <sgk@troutmask.apl.washington.edu> Subject: Re: recent bge(4) changes causing problems Message-ID: <AANLkTikZwjHtQheYA0snvjmmHizmikO0vWcr0Hobv5do@mail.gmail.com> In-Reply-To: <20101012192340.GG10094@michelle.cdnetworks.com> References: <20101011225331.GA2829@troutmask.apl.washington.edu> <20101011231604.GI4607@michelle.cdnetworks.com> <20101012000216.GA1554@troutmask.apl.washington.edu> <20101012000927.GK4607@michelle.cdnetworks.com> <20101012001510.GA6789@troutmask.apl.washington.edu> <20101012002621.GA1554@troutmask.apl.washington.edu> <20101012003329.GL4607@michelle.cdnetworks.com> <20101012152440.GA1615@troutmask.apl.washington.edu> <20101012192340.GG10094@michelle.cdnetworks.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Oct 12, 2010 at 12:23 PM, Pyun YongHyeon <pyunyh@gmail.com> wrote: > On Tue, Oct 12, 2010 at 08:24:40AM -0700, Steve Kargl wrote: >> On Mon, Oct 11, 2010 at 05:33:29PM -0700, Pyun YongHyeon wrote: >> > >> > Thanks for the info. I still suspect r213495 might break BCM5704. >> > Due to lack of BCM5704 I still couldn't test it except guessing. >> > How about attached one? >> >> > Index: sys/dev/bge/if_bge.c >> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> > --- sys/dev/bge/if_bge.c =A0 =A0(revision 213711) >> > +++ sys/dev/bge/if_bge.c =A0 =A0(working copy) >> > @@ -1736,7 +1736,8 @@ >> > =A0 =A0 =A0 =A0 =A0 =A0 RCB_WRITE_4(sc, vrcb, bge_hostaddr.bge_addr_hi= , 0); >> > =A0 =A0 =A0 =A0 =A0 =A0 RCB_WRITE_4(sc, vrcb, bge_hostaddr.bge_addr_lo= , 0); >> > =A0 =A0 =A0 =A0 =A0 =A0 RCB_WRITE_4(sc, vrcb, bge_maxlen_flags, >> > - =A0 =A0 =A0 =A0 =A0 =A0 =A0 BGE_RCB_FLAG_RING_DISABLED); >> > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 BGE_RCB_MAXLEN_FLAGS(sc->bge_return_ring= _cnt, >> > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 BGE_RCB_FLAG_RING_DISABLED)); >> > =A0 =A0 =A0 =A0 =A0 =A0 RCB_WRITE_4(sc, vrcb, bge_nicaddr, 0); >> > =A0 =A0 =A0 =A0 =A0 =A0 bge_writembx(sc, BGE_MBX_RX_CONS0_LO + >> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (i * (sizeof(uint64_t))), 0); >> >> Unfortunately, this patch does not fix the issue. >> >> If I revert r213495 via 'svn merge -r213495:213494 .' >> in the sys/dev/bge directory, I can build a working >> kernel. =A0So, I can confirm that r213495 is the source >> of the problem with a BCM5704 based NIC. >> > > Fix committed to HEAD(r213742). Could this be a firmware bug? A similar issue has occurred in the past with bce(4) where you have to upgrade the firmware and the driver in tandem in order for things to function properly, so maybe if the firmware was upgraded to the latest version (unfortunately only Linux methods exist I think), this issue would go away? Thanks, -Garrett
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTikZwjHtQheYA0snvjmmHizmikO0vWcr0Hobv5do>