Re: [Regression in 2.6.29] forcedeth doesn't work after resume from hibernation (was: Re: Resume after hibernation regression in 2.6.29)

From: Ed Swierk
Date: Fri Apr 03 2009 - 11:31:30 EST


On Fri, Mar 27, 2009 at 1:09 PM, Rafael J. Wysocki <rjw@xxxxxxx> wrote:
> I was able to reproduce the problem and identify the commit that broke the
> resume of forcedeth, which turned out to be:
>
> commit cb52deba12f27af90a46d2f8667a64888118a888
> Author: Ed Swierk <eswierk@xxxxxxxxxxx>
> Date:   Mon Dec 1 12:24:43 2008 +0000
>
>    forcedeth: power down phy when interface is down
>
>    Signed-off-by: Ed Swierk <eswierk@xxxxxxxxxxx>
>    Tested-by: Arthur Jones <ajones@xxxxxxxxxxxx>
>    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
>    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
>
> Since I have no slightest idea of what this commit is supposed to achieve,
> I can only ask for reverting it.  It reverts cleanly, BTW.

The change causes forcedeth to bring down the physical link when an
interface goes down; leaving it up causes the switch at the other end
to think the port is still active, with potentially random speed and
duplex parameters.

It's possible that the forcedeth driver needs to reset autonegotiation
after bringing it up the link again.

Can you please try this on a 2.6.29 kernel that's exhibiting the
symptoms you describe, after resuming the machine from hibernation:

ethtool -s eth1 autoneg off speed 100 duplex full
ethtool -s eth1 autoneg on

This should reset autonegotiation manually and bring the link. Let me
know how it goes.

Thanks,
--Ed
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/