From: Stephen Hemminger <shemminger@vyatta.com>
To: akpm@linux-foundation.org
Cc: jeff@garzik.org, netdev@vger.kernel.org,
akpm@linux-foundation.org, Xiaoming.Zhang@resilience.com
Subject: Re: [patch 10/21] driver/net/skge.c: restart the interface when it's options or pauseparam is set
Date: Tue, 23 Sep 2008 16:47:18 -0700 [thread overview]
Message-ID: <20080923164718.787237e2@extreme> (raw)
In-Reply-To: <200809222152.m8MLqHXf031966@imap1.linux-foundation.org>
On Mon, 22 Sep 2008 14:52:17 -0700
akpm@linux-foundation.org wrote:
> From: "Xiaoming.Zhang" <Xiaoming.Zhang@resilience.com>
>
> We have an issue of the skge driver: The card won't work when it's options
> are changed. Here's the hardware info:
>
> # lspci -v
> 05:04.0 Ethernet controller: Marvell Technology Group Ltd. 88E8001 Gigabit Ethernet Controller (rev 13)
> Subsystem: Marvell Technology Group Ltd. Marvell RDK-8001
> Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 16
> Memory at d042c000 (32-bit, non-prefetchable) [size=16K]
> I/O ports at d000 [size=256]
> [virtual] Expansion ROM at 20400000 [disabled] [size=128K]
> Capabilities: [48] Power Management version 2
> Capabilities: [50] Vital Product Data
>
> The happens in both Linux-2.6.26(skge version 1.23) and RHEL5.2(skge
> version 1.6).
>
> For example, at first it is set to "speed 1000 duplex full auto-neg on" and
> it works, then run
>
> ethtool -s <ethx> autoneg off
> or ethtool -s <ethx> speed 100 duplex full autoneg off
>
> Then it will stop working. After that if we restart the interface:
>
> ifconifg <ethx> down
> ifconfig <ethx> up
>
> It will work again. And `ethtool -A' has the same issue.
>
> So we think after setting the options, the interface should be restarted.
>
> Signed-off-by: Zhang Xiaoming <xiaoming.zhang@resilience.com>
> Cc: Stephen Hemminger <shemminger@vyatta.com>
> Cc: Jeff Garzik <jeff@garzik.org>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> ---
>
> drivers/net/skge.c | 12 ++++++++----
> 1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff -puN drivers/net/skge.c~driver-net-skgec-restart-the-interface-when-its-options-or-pauseparam-is-set drivers/net/skge.c
> --- a/drivers/net/skge.c~driver-net-skgec-restart-the-interface-when-its-options-or-pauseparam-is-set
> +++ a/drivers/net/skge.c
> @@ -353,8 +353,10 @@ static int skge_set_settings(struct net_
> skge->autoneg = ecmd->autoneg;
> skge->advertising = ecmd->advertising;
>
> - if (netif_running(dev))
> - skge_phy_reset(skge);
> + if (netif_running(dev)) {
> + skge_down(dev);
> + skge_up(dev);
> + }
>
> return (0);
> }
> @@ -595,8 +597,10 @@ static int skge_set_pauseparam(struct ne
> skge->flow_control = FLOW_MODE_NONE;
> }
>
> - if (netif_running(dev))
> - skge_phy_reset(skge);
> + if (netif_running(dev)) {
> + skge_down(dev);
> + skge_up(dev);
> + }
>
> return 0;
> }
Since skge_up can fail because of out of memory, this code needs to
check the return value. And then if it fails the "limbo state" needs
to be handled in skge_down.
next prev parent reply other threads:[~2008-09-23 23:47 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-22 21:52 [patch 10/21] driver/net/skge.c: restart the interface when it's options or pauseparam is set akpm
2008-09-23 23:45 ` Stephen Hemminger
2008-09-23 23:47 ` Stephen Hemminger [this message]
2008-09-26 6:28 ` Xiaoming.Zhang
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=20080923164718.787237e2@extreme \
--to=shemminger@vyatta.com \
--cc=Xiaoming.Zhang@resilience.com \
--cc=akpm@linux-foundation.org \
--cc=jeff@garzik.org \
--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.