From: Ed Swierk <eswierk@aristanetworks.com>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: "Tvrtko A. Ursulin" <tvrtko@ursulin.net>,
Pavel Machek <pavel@ucw.cz>,
linux-pm <linux-pm@lists.linux-foundation.org>,
kernel list <linux-kernel@vger.kernel.org>,
Tobias Diedrich <ranma+kernel@tdiedrich.de>,
Ayaz Abdulla <aabdulla@nvidia.com>,
netdev <netdev@vger.kernel.org>,
Arthur Jones <ajones@riverbed.com>,
Andrew Morton <akpm@linux-foundation.org>,
"David S. Miller" <davem@davemloft.net>
Subject: Re: [Regression in 2.6.29] forcedeth doesn't work after resume from hibernation (was: Re: Resume after hibernation regression in 2.6.29)
Date: Fri, 03 Apr 2009 10:41:12 -0700 [thread overview]
Message-ID: <1238780473.19305.3.camel@localhost.localdomain> (raw)
In-Reply-To: <9ae48b020904030824o1f94831asb60f979b3e489a8b@mail.gmail.com>
On Fri, 2009-04-03 at 08:24 -0700, Ed Swierk wrote:
> On Fri, Mar 27, 2009 at 1:09 PM, Rafael J. Wysocki <rjw@sisk.pl> 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@arastra.com>
> > Date: Mon Dec 1 12:24:43 2008 +0000
> >
> > forcedeth: power down phy when interface is down
> >
> > Signed-off-by: Ed Swierk <eswierk@arastra.com>
> > Tested-by: Arthur Jones <ajones@riverbed.com>
> > Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> > Signed-off-by: David S. Miller <davem@davemloft.net>
> >
> > 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.
Also please try this patch; it fixes the problem on my test system (a
DFI board with an nVidia MCP55).
Signed-off-by: Ed Swierk <eswierk@aristanetworks.com>
--
--- linux-2.6.29.x86_64/drivers/net/forcedeth.c.orig 2009-03-23 16:12:14.000000000 -0700
+++ linux-2.6.29.x86_64/drivers/net/forcedeth.c 2009-04-03 10:11:26.839614710 -0700
@@ -5995,6 +5995,9 @@
for (i = 0;i <= np->register_size/sizeof(u32); i++)
writel(np->saved_config_space[i], base+i*sizeof(u32));
+ /* restore phy state, including autoneg */
+ phy_init(dev);
+
netif_device_attach(dev);
if (netif_running(dev)) {
rc = nv_open(dev);
next prev parent reply other threads:[~2009-04-03 17:42 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200903261920.32173.tvrtko@ursulin.net>
2009-03-26 20:18 ` Resume after hibernation regression in 2.6.29 Pavel Machek
2009-03-26 20:55 ` Tvrtko A. Ursulin
2009-03-26 21:14 ` Pavel Machek
2009-03-26 21:35 ` Rafael J. Wysocki
2009-03-26 22:01 ` Tvrtko A. Ursulin
2009-03-26 22:38 ` Pavel Machek
2009-03-26 23:04 ` Tvrtko A. Ursulin
2009-03-26 23:08 ` Rafael J. Wysocki
2009-03-27 8:01 ` Tvrtko A. Ursulin
2009-03-27 11:55 ` Rafael J. Wysocki
2009-03-27 20:09 ` [Regression in 2.6.29] forcedeth doesn't work after resume from hibernation (was: Re: Resume after hibernation regression in 2.6.29) Rafael J. Wysocki
2009-03-29 8:03 ` Tvrtko A. Ursulin
2009-04-03 10:23 ` Tvrtko Ursulin
2009-04-03 15:24 ` Ed Swierk
2009-04-03 17:41 ` Ed Swierk [this message]
2009-04-03 20:26 ` Rafael J. Wysocki
2009-04-04 13:04 ` Tvrtko A. Ursulin
2009-04-04 13:07 ` Rafael J. Wysocki
2009-03-27 8:39 ` Resume after hibernation regression in 2.6.29 Tobias Diedrich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1238780473.19305.3.camel@localhost.localdomain \
--to=eswierk@aristanetworks.com \
--cc=aabdulla@nvidia.com \
--cc=ajones@riverbed.com \
--cc=akpm@linux-foundation.org \
--cc=davem@davemloft.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=netdev@vger.kernel.org \
--cc=pavel@ucw.cz \
--cc=ranma+kernel@tdiedrich.de \
--cc=rjw@sisk.pl \
--cc=tvrtko@ursulin.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox