On Mon, 2006-06-05 at 17:08 -0500, Andy Fleming wrote: > Looks good. Feel free to send these patches to > netdev@vger.kernel.org (you may need to subscribe), and copy Jeff > Garzik <[EMAIL PROTECTED]>.
This fixes a problem seen when a port without a cable connected would repeatedly print out "Trying 1000/HALF". While in the PHY_FORCING state, the call to phy_read_status() was resetting the value of phydev->speed and phydev->duplex, preventing it from incrementally trying the speed/duplex variations. Since we really just want the link status updated for the PHY_FORCING state, calling genphy_update_link() instead of phy_read_status() fixes this issue. Patch tested on a MPC8540 platform with a BCM5421 PHY. Signed-off-by: Nate Case <[EMAIL PROTECTED]> Signed-off-by: Andy Fleming <[EMAIL PROTECTED]> --- --- a/drivers/net/phy/phy.c 2006-06-04 16:01:59.000000000 -0500 +++ b/drivers/net/phy/phy.c 2006-06-05 10:55:31.000000000 -0500 @@ -767,7 +783,7 @@ } break; case PHY_FORCING: - err = phy_read_status(phydev); + err = genphy_update_link(phydev); if (err) break; --- a/drivers/net/phy/phy_device.c 2006-06-04 16:02:08.000000000 -0500 +++ b/drivers/net/phy/phy_device.c 2006-06-04 19:12:26.000000000 -0500 @@ -417,6 +417,7 @@ return 0; } +EXPORT_SYMBOL(genphy_update_link); /* genphy_read_status * - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html