[PATCH] pci_alloc_consistent in an interrupt context

Dan Malek dan at embeddededge.com
Fri Jun 14 07:47:32 EST 2002


Tom Rini wrote:


> It looks okay.

It's not quite right.......

The consistent_alloc() should not always call get_vm_area() with GFP_ATOMIC
set.  It should use the 'gfp' that is passed into consistent_alloc().
Normally, you will call consistent_alloc() with GFP_KERNEL, and
interrupt functions must know to call the consistent allocators with GFP_ATOMIC.

> ..... But I don't see (immediatly) why the change to
> pci_alloc_consistent was needed as well.

It was a mistake on my part......when CONFIG_NOT_COHERENT_CACHE is used,
the consisten_alloc() returns the dma_handle, and we have to ensure we
don't do the virt_to_bus later to get it (because it will be wrong once
iopa() is discarded :-)


> But aside from that, it looks good and the next step would be to try and
> get the generic changes into 2.5 (and the 2.4.20-pre1, 2.4.19 is more or
> less frozen, esp for a change like this I suspect).

Good Luck ;-)


	-- Dan


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-embedded mailing list