Skip site navigation (1)Skip section navigation (2)
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>