]> err.no Git - linux-2.6/blobdiff - arch/alpha/kernel/pci_iommu.c
Merge branch 'for-2.6.26' of master.kernel.org:/pub/scm/linux/kernel/git/olof/pasemi
[linux-2.6] / arch / alpha / kernel / pci_iommu.c
index 4e1c08636edd66b4c08b58aee5c358b55a0c382c..dd6e334ab9e127d61338f27bb28de710689aa6ab 100644 (file)
@@ -424,11 +424,13 @@ EXPORT_SYMBOL(pci_unmap_page);
    else DMA_ADDRP is undefined.  */
 
 void *
-pci_alloc_consistent(struct pci_dev *pdev, size_t size, dma_addr_t *dma_addrp)
+__pci_alloc_consistent(struct pci_dev *pdev, size_t size,
+                      dma_addr_t *dma_addrp, gfp_t gfp)
 {
        void *cpu_addr;
        long order = get_order(size);
-       gfp_t gfp = GFP_ATOMIC;
+
+       gfp &= ~GFP_DMA;
 
 try_again:
        cpu_addr = (void *)__get_free_pages(gfp, order);
@@ -458,7 +460,7 @@ try_again:
 
        return cpu_addr;
 }
-EXPORT_SYMBOL(pci_alloc_consistent);
+EXPORT_SYMBOL(__pci_alloc_consistent);
 
 /* Free and unmap a consistent DMA buffer.  CPU_ADDR and DMA_ADDR must
    be values that were returned from pci_alloc_consistent.  SIZE must