From: Nathaniel Case <ncase@xes-inc.com>
To: John Haller <jhaller@lucent.com>
Cc: Brent Cook <bcook@bpointsys.com>, netdev@vger.kernel.org
Subject: Re: [PATCH 1/3] mv643xx fixes - Disable interrupts on all ports during initialization
Date: Tue, 27 Jun 2006 11:09:04 -0500 [thread overview]
Message-ID: <1151424544.31020.12.camel@localhost.localdomain> (raw)
In-Reply-To: <44A14BCC.5060708@lucent.com>
On Tue, 2006-06-27 at 10:16 -0500, John Haller wrote:
> Brent Cook wrote:
> > This patch disable interrupts on all ports during initialization. The current
> > assumes that the firmware has already disabled all interrupts on all ports.
> > We have encountered some boards that do not always disable interrupts (XES
> > XPedite 6200 for instance) on a soft reset. This patch prevents a kernel
> > panic if a packet is received before the DMA ring buffers are setup for a
> > port on which interrupts are left enabled by the firmware.
> You probably have bigger problems than the interrupt being left
> enabled. If the interrupt is left enabled, the DMA engine
> is probably left enabled, and if a packet happens
> to come in before the driver can properly configure them,
> some random part of memory will get overwritten.
> The firmware needs to disable this device before transferring
> control to the kernel, both the interrupts and the DMA,
> there is no way to fix this in the kernel.
I agree that the patch isn't the best fix for this problem.
Brent, for this particular case, I believe there's chip errata for the
Discovery bridge preventing it from resetting itself when the board
resets itself in non-monarch mode. That's why interrupts are left
enabled. This issue should never crop up if the board is monarch on the
PCI bus.
So the proper workaround would be for our firmware to account for this
case and disable interrupts, ethernet, etc. on a soft non-monarch reset.
We could also do this in the boot wrapper code as a safety measure.
Also, note that the firmware _will_ already explicitly disable ethernet
before transferring control over to the OS _if_ you're booting over
ethernet instead of flash.
- Nate Case <ncase@xes-inc.com>
next prev parent reply other threads:[~2006-06-27 16:09 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-27 14:51 [PATCH 1/3] mv643xx fixes - Disable interrupts on all ports during initialization Brent Cook
2006-06-27 15:16 ` John Haller
2006-06-27 16:09 ` Nathaniel Case [this message]
2006-06-30 16:20 ` Jeff Garzik
2006-07-03 18:11 ` Brent Cook
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=1151424544.31020.12.camel@localhost.localdomain \
--to=ncase@xes-inc.com \
--cc=bcook@bpointsys.com \
--cc=jhaller@lucent.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 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).