From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Kyle Moffett <mrmacman_g4@mac.com>
Cc: Andrew Morton <akpm@osdl.org>,
Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>,
LKML Kernel <linux-kernel@vger.kernel.org>
Subject: Re: [BUG] PDC20268 crashing during DMA setup on stock Debian 2.6.12-1-powerpc
Date: Thu, 20 Oct 2005 11:36:44 +1000 [thread overview]
Message-ID: <1129772205.7620.226.camel@gaston> (raw)
In-Reply-To: <75FE9776-B88F-453E-9616-850097DB0138@mac.com>
> BusMaster-DMA definitely should be enabled on that card. After a lot
> of looking through icky IDE code, I've determined that the reason for
> the crash is that if there is a "mate", or another IDE bus on the
> same card, then hwif->dma_master is set to hwif->mate->dma_base on
> the secondary channel. Since DMA explicitly wasn't enabled on the
> primary channel, hwif->dma_master on the secondary is 0 even though
> dma is enabled, and therefore we hit that BUG().
>
> Therefore it seems that the only issue is ide_get_or_set_dma_base is
> returning 0 when it should return a valid DMA base. In that
> function, the only ways that function can even theoretically return 0
> without printing any weird error messages is "if (hwif->mmio)" or "if
> (hwif->mate && hwif->mate->dma_base)". The latter can't happen
> before hwif->mate is set up (since the problem is while initializing
> the primary). Could hwif->mmio be nonzero somehow? The only drivers
> that seem to set it are pci/sgiioc4, pci/siimage, ppc/pmac, and a
> couple misc arch drivers.
>
> I see a couple theoretical possibilities:
> * hwif->mate and hwif->mate->dma_base are set for the primary
> while still initializing it (before any secondary is set up.
> * hwif->mmio is set somehow even though it shouldn't be, is the
> value ever pre-initialized to 0?
Maybe there is some fighting going on between ppc/pmac.c and that driver
over the hwif's and you end up with mmio inadvertently set ?
> > Again, best is you pour printk's all over setup-pci.c and ide-dma.c
> > to figure out what's going on...
>
> I wish I could but the machine is remote and in-production, so it's
> hard to have time to do much with it. I'm trying as best I can to
> walk through the sources by hand, specifically with regards to
> changes between the two. I'm hoping I can come up with a good enough
> guess by Thanksgiving, so that when I have a week near the server to
> test things out I can make significant progress.
next prev parent reply other threads:[~2005-10-20 1:39 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20051017005855.132266ac.akpm@osdl.org>
[not found] ` <1129536482.7620.76.camel@gaston>
[not found] ` <6DFB5723-0042-46FE-811F-BF372B068014@mac.com>
2005-10-19 17:48 ` [BUG] PDC20268 crashing during DMA setup on stock Debian 2.6.12-1-powerpc Kyle Moffett
2005-10-19 22:13 ` Benjamin Herrenschmidt
2005-10-19 23:14 ` Kyle Moffett
2005-10-20 1:36 ` Benjamin Herrenschmidt [this message]
2005-11-20 18:29 ` Kyle Moffett
2005-11-20 21:00 ` Benjamin Herrenschmidt
2005-11-21 21:21 ` Bug in promise_new ide conteroller (was: Re: [BUG] PDC20268 crashing during DMA setup on stock Debian 2.6.12-1-powerpc) Kasper Sandberg
2005-10-15 22:29 [BUG] PDC20268 crashing during DMA setup on stock Debian 2.6.12-1-powerpc Kyle Moffett
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=1129772205.7620.226.camel@gaston \
--to=benh@kernel.crashing.org \
--cc=B.Zolnierkiewicz@elka.pw.edu.pl \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mrmacman_g4@mac.com \
/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.