Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 Aug 2006 11:24:55 +0800
From:      LI Xin <delphij@delphij.net>
To:        David Christensen <davidch@broadcom.com>
Cc:        freebsd-current@freebsd.org
Subject:   Re: bge(4) on BCM 5752 A02 panic due to media autoselect
Message-ID:  <44F65687.2050108@delphij.net>
In-Reply-To: <09BFF2FA5EAB4A45B6655E151BBDD90301E2F1CF@NT-IRVA-0750.brcm.ad.broadcom.com>
References:  <09BFF2FA5EAB4A45B6655E151BBDD90301E2F1CF@NT-IRVA-0750.brcm.ad.broadcom.com>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
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).

Cheers,
-- 
Xin LI <delphij@delphij.net>	http://www.delphij.net/
FreeBSD - The Power to Serve!


[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFE9laHOfuToMruuMARAwfxAJ9pqEK2AVypE92hwFklpkbCSzwCKgCcCfCs
EoN/oUlOnKhxghJoBjKQC1k=
=vw7t
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44F65687.2050108>