diff options
Diffstat (limited to 'arch/alpha/kernel/pci_iommu.c')
-rw-r--r-- | arch/alpha/kernel/pci_iommu.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/alpha/kernel/pci_iommu.c b/arch/alpha/kernel/pci_iommu.c index 4e1c08636edd..dd6e334ab9e1 100644 --- a/arch/alpha/kernel/pci_iommu.c +++ b/arch/alpha/kernel/pci_iommu.c | |||
@@ -424,11 +424,13 @@ EXPORT_SYMBOL(pci_unmap_page); | |||
424 | else DMA_ADDRP is undefined. */ | 424 | else DMA_ADDRP is undefined. */ |
425 | 425 | ||
426 | void * | 426 | void * |
427 | pci_alloc_consistent(struct pci_dev *pdev, size_t size, dma_addr_t *dma_addrp) | 427 | __pci_alloc_consistent(struct pci_dev *pdev, size_t size, |
428 | dma_addr_t *dma_addrp, gfp_t gfp) | ||
428 | { | 429 | { |
429 | void *cpu_addr; | 430 | void *cpu_addr; |
430 | long order = get_order(size); | 431 | long order = get_order(size); |
431 | gfp_t gfp = GFP_ATOMIC; | 432 | |
433 | gfp &= ~GFP_DMA; | ||
432 | 434 | ||
433 | try_again: | 435 | try_again: |
434 | cpu_addr = (void *)__get_free_pages(gfp, order); | 436 | cpu_addr = (void *)__get_free_pages(gfp, order); |
@@ -458,7 +460,7 @@ try_again: | |||
458 | 460 | ||
459 | return cpu_addr; | 461 | return cpu_addr; |
460 | } | 462 | } |
461 | EXPORT_SYMBOL(pci_alloc_consistent); | 463 | EXPORT_SYMBOL(__pci_alloc_consistent); |
462 | 464 | ||
463 | /* Free and unmap a consistent DMA buffer. CPU_ADDR and DMA_ADDR must | 465 | /* Free and unmap a consistent DMA buffer. CPU_ADDR and DMA_ADDR must |
464 | be values that were returned from pci_alloc_consistent. SIZE must | 466 | be values that were returned from pci_alloc_consistent. SIZE must |