Messages in this thread |  | | From | Linus Torvalds <> | Date | Tue, 8 Jan 2013 08:39:24 -0800 | Subject | Re: 2nd attempt: help with dma_alloc_coherent() + dma_free_coherent() |
| |
On Tue, Jan 8, 2013 at 7:51 AM, Jeff Chua <jeff.chua.linux@gmail.com> wrote: > No response so far ... I'm sure someone know this stuff ... Thanks, Jeff. > > I'm trying to understand how this oops in the diva driver and it's just a > simple dma_alloc_coherent() followed by dma_free_coherent(), but it oops. > Why?
Umm. You're using a NULL 'dev' pointer?
iommu_no_mapping() will look if the device is a PCI device, and that's where it oopses.
Now, it looks like some users "know" that the device doesn't matter (which is true on some platforms), but that's bogus. The device is how you even find out what the rules for DMA access are (see for example dma_set_mask() etc), so giving a NULL device is insane.
Linus
|  |