[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1167429171.23340.125.camel@localhost.localdomain>
Date: Sat, 30 Dec 2006 08:52:51 +1100
From: Benjamin Herrenschmidt <benh@...nel.crashing.org>
To: Andreas Schwab <schwab@...e.de>
Cc: linux1394-devel@...ts.sourceforge.net, linuxppc-dev@...abs.org,
Stefan Richter <stefanr@...6.in-berlin.de>,
Linux Kernel list <linux-kernel@...r.kernel.org>
Subject: Re: 2.6.20-rc2: kernel BUG at include/asm/dma-mapping.h:110!
> Bisecting has identified this commit:
>
> commit 9b7d9c096dd4e4baacc21b2588662bbb56f36c4e
> Author: Stefan Richter <stefanr@...6.in-berlin.de>
> Date: Wed Nov 22 21:44:34 2006 +0100
>
> ieee1394: sbp2: convert from PCI DMA to generic DMA
>
> API conversion without change in functionality
>
> Signed-off-by: Stefan Richter <stefanr@...6.in-berlin.de>
>
>
> I'm only seeing this on ppc64, ppc32 seems to be working fine.
The patch looks totally bogus to me. It's passing a random struct device
from the hbsp host data structure to the dma_map_* routines. which they
can't do anything about.
The dma_map_* routines only know about some bus types. That's always
been the case (that's why you also can't pass a usb device's struct
device to them for example). Mostly, PCI, possibly others depending on
the platform.
So if you are to pass a struct device pointer to dma_map_*, use the one
inside the pci_dev of the host. Or have the host driver provide you with
the struct device pointer (which is the one from the pci_dev * for PCI
implementations, and others give you what they are on, assuming the
platform can do dma-* on that device).
Ben.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists