From: Andrew Morton <akpm@osdl.org>
To: "ODonnell, Michael" <Michael.ODonnell@stratus.com>
Cc: adapter_support@intel.com, bonding-devel@lists.sourceforge.net,
linux-kernel@vger.kernel.org, linux-netdev@lists.sourceforge.net,
John Ronciak <john.ronciak@intel.com>,
Ganesh Venkatesan <ganesh.venkatesan@intel.com>,
Jesse Brandeburg <jesse.brandeburg@intel.com>
Subject: Re: [PATCH] corruption during e100 MDI register access
Date: Mon, 9 Jan 2006 05:00:30 -0800 [thread overview]
Message-ID: <20060109050030.77a3104d.akpm@osdl.org> (raw)
In-Reply-To: <92952AEF1F064042B6EF2522E0EEF437032252ED@EXNA.corp.stratus.com>
"ODonnell, Michael" <Michael.ODonnell@stratus.com> wrote:
>
> We have identified two related bugs in the e100 driver and we request
> that they be repaired in the official Intel version of the driver.
>
> Both bugs are related to manipulation of the MDI control register.
>
> The first problem is that the Ready bit is being ignored when
> writing to the Control register; we noticed this because the Linux
> bonding driver would occasionally come to the spurious conclusion
> that the link was down when querying Link State. It turned out
> that by failing to wait for a previous command to complete it was
> selecting what was essentially a random register in the MDI register
> set. When we added code that waits for the Ready bit (as shown in
> the patch file below) all such problems ceased.
>
> The second problem is that, although access to the MDI registers
> involves multiple steps which must not be intermixed, nothing was
> defending against two or more threads attempting simultaneous access.
> The most obvious situation where such interference could occur
> involves the watchdog versus ioctl paths, but there are probably
> others, so we recommend the locking shown in our patch file.
Your patches are coming through wordwrapped. Please fix your email client
in future.
Please also prepare patches in `patch -p1' form.
http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt may prove useful.
This patch potentially spins for four milliseconds with interrupts off,
which will be unpopular. Is there no alternative?
Anyway, I queued the patch in my kernel so the issue won't be forgotten
about. I also queued a patch which makes your patch comply with kernel
coding style - it wasn't very close at all.
Thanks.
prev parent reply other threads:[~2006-01-09 13:00 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-06 19:19 ODonnell, Michael
2006-01-09 13:00 ` Andrew Morton [this message]
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=20060109050030.77a3104d.akpm@osdl.org \
--to=akpm@osdl.org \
--cc=Michael.ODonnell@stratus.com \
--cc=adapter_support@intel.com \
--cc=bonding-devel@lists.sourceforge.net \
--cc=ganesh.venkatesan@intel.com \
--cc=jesse.brandeburg@intel.com \
--cc=john.ronciak@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-netdev@lists.sourceforge.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
all inboxes | Powered by JetHome®