From: Felix Radensky <felix@embedded-sol.com>
To: Matt Carlson <mcarlson@broadcom.com>
Cc: Michael Chan <mchan@broadcom.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>
Subject: Re: tg3: link is permanently down after ifdown and ifup
Date: Sun, 20 Dec 2009 18:44:46 +0200 [thread overview]
Message-ID: <4B2E547E.3040806@embedded-sol.com> (raw)
In-Reply-To: <20091210011931.GA30802@xw6200.broadcom.net>
Hi, Matt
Matt Carlson wrote:
> I understand the problem now. The problem is that tg3_set_power_state()
> puts the phy into a low-power mode when it releases the device. When
> the phy is reacquired, a phy reset is missing to take the device back
> out of the low-power mode.
>
> The patch at the bottom of this email is the fix I'm currently testing.
> If you wish, you can try it out.
>
>
> [PATCH] tg3: Fix 57780 connectivity problems
>
> When management firmware is not present, and WOL is disabled, the driver
> will put the phy into a low-power mode when shutting down. To get out
> of low-power mode, the operation must be reversed or the phy must be
> reset.
>
> In the past, the phylib reset the phy from either phy_start() or
> phy_start_aneg(). This phy reset has been removed from more recent
> kernels. The tg3 driver already has phy reset code in place which is
> called when it assumes control of the device. It is bypassed if phylib
> is enabled though.
>
> This patch removes the phylib exception.
> ---
> drivers/net/tg3.c | 3 +--
> 1 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
> index 3a74d21..c0a3080 100644
> --- a/drivers/net/tg3.c
> +++ b/drivers/net/tg3.c
> @@ -7523,8 +7523,7 @@ static int tg3_reset_hw(struct tg3 *tp, int reset_phy)
> tg3_abort_hw(tp, 1);
> }
>
> - if (reset_phy &&
> - !(tp->tg3_flags3 & TG3_FLG3_USE_PHYLIB))
> + if (reset_phy)
> tg3_phy_reset(tp);
>
> err = tg3_chip_reset(tp);
>
I can confirm that this patch fixes the problem I had. Thanks a lot for
the fix.
There was another problem in 2.6.32 that I reported, namely kernel soft
lockup
when link is synchronized at 100Mbit/sec and tg3 with 57780 goes down . Were
you able to reproduce it ?
Thanks a lot for your help.
Felix.
next prev parent reply other threads:[~2009-12-20 16:44 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-19 15:16 tg3: link is permanently down after ifdown and ifup Felix Radensky
2009-11-19 16:08 ` Felix Radensky
2009-11-19 22:50 ` Michael Chan
2009-11-21 11:03 ` Felix Radensky
2009-12-09 8:43 ` Felix Radensky
2009-12-10 1:19 ` Matt Carlson
2009-12-10 1:45 ` Felix Radensky
2009-12-10 2:31 ` Matt Carlson
2009-12-10 5:09 ` Felix Radensky
2009-12-20 16:44 ` Felix Radensky [this message]
2009-12-21 18:19 ` Matt Carlson
2009-12-21 21:52 ` Felix Radensky
2010-01-04 13:41 ` Felix Radensky
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=4B2E547E.3040806@embedded-sol.com \
--to=felix@embedded-sol.com \
--cc=mcarlson@broadcom.com \
--cc=mchan@broadcom.com \
--cc=netdev@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.