From: Dan Williams <dan.j.williams@intel.com>
To: Chris Li <lkml@chrisli.org>
Cc: linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: BUG in drivers/dma/ioat/dma_v2.c:314
Date: Mon, 28 Jun 2010 17:45:01 -0700 [thread overview]
Message-ID: <4C29420D.2010406@intel.com> (raw)
In-Reply-To: <AANLkTinMqI7hmBYt4eN2oTLZt9_FkoNDHb-9ZF3Z7vls@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1321 bytes --]
On 6/28/2010 4:50 PM, Chris Li wrote:
> Hi Dan,
>
> My Mac Pro hit this BUG every time it try to load module ioatdma.
>
> This was first discover in FC 12& 13 kernel. See redhat bug 605845.
> https://bugzilla.redhat.com/show_bug.cgi?id=605845. I attach a picture
> of the kernel panic on the bug.
>
> The current git tree has it as well. The bug line number change a
> little bit though.
>
>
> /* when halted due to errors check for channel
> * programming errors before advancing the completion state
> */
> if (is_ioat_halted(status)) {
> u32 chanerr;
>
> chanerr = readl(chan->reg_base + IOAT_CHANERR_OFFSET);
> dev_err(to_dev(chan), "%s: Channel halted (%x)\n",
> __func__, chanerr);
> BUG_ON(is_ioat_bug(chanerr));<---------------------------------
> }
>
> The machine is a Mac Pro. The bug is reproducible 100%. Black list the
> ioatdma module and the kernel boot just fine.
>
> Any suggestion? I am not afraid to try out patches.
>
Looks like that dev_err() did not make it to the console. The attached
patch should get us some more debug information. This will stop the
driver from making forward progress (applies to current -git). I
suspect this may be triggering from the driver self test, but to be safe
you should set CONFIG_NET_DMA=n and CONFIG_ASYNC_TX_DMA=n.
--
Dan
[-- Attachment #2: debug-ioat.patch --]
[-- Type: text/plain, Size: 632 bytes --]
diff --git a/drivers/dma/ioat/dma_v2.c b/drivers/dma/ioat/dma_v2.c
index 3c8b32a..89bff46 100644
--- a/drivers/dma/ioat/dma_v2.c
+++ b/drivers/dma/ioat/dma_v2.c
@@ -285,9 +285,9 @@ void ioat2_timer_event(unsigned long data)
u32 chanerr;
chanerr = readl(chan->reg_base + IOAT_CHANERR_OFFSET);
- dev_err(to_dev(chan), "%s: Channel halted (%x)\n",
- __func__, chanerr);
- BUG_ON(is_ioat_bug(chanerr));
+ WARN_ONCE(is_ioat_bug(chanerr), "%s: %s: Channel halted (%x)\n",
+ dev_name(to_dev(chan)), __func__, chanerr);
+ return;
}
/* if we haven't made progress and we have already
next prev parent reply other threads:[~2010-06-29 0:45 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-28 23:50 BUG in drivers/dma/ioat/dma_v2.c:314 Chris Li
2010-06-29 0:45 ` Dan Williams [this message]
2010-06-29 7:17 ` Chris Li
2010-06-29 23:20 ` Chris Li
2010-06-29 23:57 ` Dan Williams
2010-06-30 1:07 ` Chris Li
2010-06-30 4:17 ` Dan Williams
2010-06-30 18:26 ` Chris Li
2010-06-30 18:43 ` Chris Li
2010-06-30 18:43 ` David Woodhouse
2010-06-30 19:40 ` Dan Williams
2010-06-30 20:02 ` David Woodhouse
2010-06-30 21:44 ` Dan Williams
2010-06-30 21:59 ` Chris Li
2010-06-30 22:04 ` Dan Williams
2010-07-01 6:21 ` David Woodhouse
2010-07-01 6:51 ` Dan Williams
2010-07-01 7:12 ` David Woodhouse
2010-07-01 7:26 ` Dan Williams
2010-07-01 8:15 ` David Woodhouse
2010-07-01 17:20 ` Dan Williams
2010-07-01 17:58 ` Chris Li
2010-07-02 19:00 ` Chris Li
2010-07-05 10:16 ` David Woodhouse
2010-07-06 23:40 ` Chris Li
2010-07-07 0:51 ` Dan Williams
2010-07-07 0:51 ` Chris Li
2010-07-07 0:58 ` Dan Williams
2010-07-07 1:03 ` Chris Li
2010-07-07 3:22 ` David Woodhouse
2010-07-07 3:40 ` David Woodhouse
2010-07-07 17:47 ` Dan Williams
2010-07-07 18:07 ` David Woodhouse
2010-07-07 21:56 ` Chris Li
2010-07-09 21:28 ` Dan Williams
2010-07-09 22:00 ` Chris Li
2010-07-10 0:09 ` David Woodhouse
2010-07-15 5:41 ` Dan Williams
2010-07-16 21:29 ` Chris Li
2010-07-16 22:12 ` David Woodhouse
2010-07-16 22:40 ` Chris Li
2010-07-22 1:15 ` Dan Williams
2010-07-22 21:39 ` Chris Li
2010-07-22 22:00 ` Dan Williams
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=4C29420D.2010406@intel.com \
--to=dan.j.williams@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lkml@chrisli.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.