> 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. Dave
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:59 UTC