bge(4) on BCM 5752 A02 panic due to media autoselect
Pyun YongHyeon
pyunyh at gmail.com
Thu Aug 31 10:24:09 UTC 2006
On Thu, Aug 31, 2006 at 04:16:49PM +0800, LI Xin wrote:
> Pyun YongHyeon wrote:
> > On Thu, Aug 31, 2006 at 11:24:55AM +0800, LI Xin wrote:
> > > David Christensen wrote:
> > > >> Recently one of my colleagues found that BCM 5752 A02 on Dell Latitude
> > > >> D820 would get "panic: invalid ife->ifm_data (0xa) in
> > > >> mii_phy_setmedia".
> > > >> After some investigation I have found that removing BCMR_ANEG from
> > > >> mii_capabilities in ukphy.c would work around the problem,
> > > >> and it turns
> > > >> out that without explicitly specifying media type, the code
> > > >> will finally
> > > >> get to pass the "intentionally invalid index" to mii_phy_setmedia and
> > > >> trigger an assertion fail.
> > > >>
> > > >> I have not tested the situation in -STABLE yet, but it was
> > > >> said to work
> > > >> there, though. Is there anyone can shed some light to me about how to
> > > >> debug the issue? Thanks in advance!
> > > >>
> > > >> PS. During the debugging I have found that the attached patch can make
> > > >> "bge0: firmware handshake timeout" issue disappear from the said chip.
> > > >> Because I do not have Broadcom specification at hand I would
> > > >> like to see
> > > >> if there is someone to give appropriate review for it.
> > > >
> > > > Try the attached patch instead and let me know if it works. When
> > > > FastBoot
> > > > is enabled on supported Broadcom controllers it allows the controller to
> > > > skip rereading firmware after a reset, allowing the driver to complete
> > > > its initialization more quickly. The Linux driver specifically disables
> > > > FastBoot because it performs some read/write tests to controller memory,
> > > > potentially corrupting the firmware, so FastBoot is disabled to insure
> > > > an
> > > > error free firmware reload. We don't do the same test so the same
> > > > change
> > > > isn't necessary. The patch happens to work because the bge driver
> > > > doesn't
> > > > perform firmware synchronization correctly, and the firmware initializes
> > > > too fast for the driver.
> > >
> > > Thank you for the patch. I have just tested the patch under
> > > FreeBSD/i386 -CURRENT and the I can confirm that the firmware timeout
> > > goes away. Will you please commit it?
> > >
> > > (Note that the panic still persists, I will try to get brgphy attach to
> > > see if things changes).
> > >
> >
> > It would be great if you can test the brgphy patch. I'll commit the
> > patch if it work on your box.
>
> Sure, I would be more than happy to do that. Which brgphy patch do you
> want me to test? (I have patched brgphy.c and miidevs to make BCM5752
> to attach as brgphy and it resolved the panic, but I am not quite sure
> if that is what you want, though)
>
That's exactly the same patch I've made for stable.
(You've already patched it to work on CURRENT.)
--
Regards,
Pyun YongHyeon
More information about the freebsd-current
mailing list