Date: Sun, 25 Nov 2007 09:40:52 GMT From: benno@FreeBSD.org To: supportsobaka@mail.ru, benno@FreeBSD.org, freebsd-bugs@FreeBSD.org, benno@FreeBSD.org Subject: Re: kern/118238: [bce] bce driver shows "no carrier" on Intel SBXD132 blade (based on IBM HS21) Message-ID: <200711250940.lAP9eqbF055014@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
Synopsis: [bce] bce driver shows "no carrier" on Intel SBXD132 blade (based on IBM HS21) State-Changed-From-To: open->analyzed State-Changed-By: benno State-Changed-When: Sun Nov 25 09:33:28 UTC 2007 State-Changed-Why: I have a patch for this but it needs tidying up before it gets put in to the tree. Essentially the problem here is a conjunction between some strangeness on Broadcom's part and mishandling of same by brgphy. The PHY in use here uses non-standard registers to indicate link state. brgphy will query them, but it waits for the standard registers to indicate state first, which appears to be the wrong thing to do. Commenting out some lines in brgphy (those to do with the brgphy_status_exit goto label) bandaids the problem but I'd like to tidy up the logic a bit more. Responsible-Changed-From-To: freebsd-bugs->benno Responsible-Changed-By: benno Responsible-Changed-When: Sun Nov 25 09:33:28 UTC 2007 Responsible-Changed-Why: I have a patch for brgphy that fixes this but it needs work before it goes in to the tree. This problem results fro the conjunction of some oddness in Broadcom's silicon and mishandling of said oddness by brgphy. The PHY on these parts uses non-standard registers to report link status but brgphy waits until the standard registers come ready before testing them which appears to be a bad idea. Commenting out the "goto brgphy_status_exit;" line in brgphy cuts around the problem but I'd like to fix the actual logic. http://www.freebsd.org/cgi/query-pr.cgi?pr=118238
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200711250940.lAP9eqbF055014>