From: David Decotigny <decot@googlers.com>
To: Ayaz Abdulla <aabdulla@nvidia.com>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: "David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>, Joe Perches <joe@perches.com>,
David Decotigny <decot@googlers.com>
Subject: [PATCH net-next v1 0/3] forcedeth: fix device lock-up for dual-port NICs
Date: Fri, 24 Aug 2012 20:22:50 -0700 [thread overview]
Message-ID: <cover.1345864542.git.decot@googlers.com> (raw)
On a dual port MCP55 10de:0373 (rev a3) NIC with both ports connected,
we identified a configuration that does freeze the whole NIC: having
autoneg & TX pause turned on while one port is physically connected
but interface is down (eg. eth1) eventually causes the whole NIC to
freeze (eth1 and... eth0). This triggers TX timeouts on the UP
interface and, more generally, an unreachable network.
In order to avoid the bug, all we have to do is make sure not to
configure TX pause on the hardware while NIC is down. This is what the
2nd patch of the series does (details included).
And, in case the NIC is in a bad state at reboot (should not happen
anymore thanks to patch above), third patch basically always makes
sure to fix the NIC when module is loaded.
I could only test this with a MCP55 10de:0373 (rev a3) PCI device on a
x86_64 host.
Any feedback on these patches welcome! In particular, please let me
know if this should not apply to other hardware.
############################################
# Patch Set Summary:
David Decotigny (3):
forcedeth: fix buffer overflow
forcedeth: fix TX timeout caused by TX pause on down link
forcedeth: prevent TX timeouts after reboot
drivers/net/ethernet/nvidia/forcedeth.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
--
1.7.10.2.5.g20d7bc9
next reply other threads:[~2012-08-25 3:23 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-25 3:22 David Decotigny [this message]
2012-08-25 3:22 ` [PATCH net-next v1 1/3] forcedeth: fix buffer overflow David Decotigny
2012-08-25 3:22 ` [PATCH net-next v1 2/3] forcedeth: fix TX timeout caused by TX pause on down link David Decotigny
2012-08-25 3:22 ` [PATCH net-next v1 3/3] forcedeth: prevent TX timeouts after reboot David Decotigny
2012-08-30 17:05 ` [PATCH net-next v1 0/3] forcedeth: fix device lock-up for dual-port NICs David Miller
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=cover.1345864542.git.decot@googlers.com \
--to=decot@googlers.com \
--cc=aabdulla@nvidia.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=joe@perches.com \
--cc=linux-kernel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).