diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/pci-dma_32.c | 3 | ||||
-rw-r--r-- | arch/x86/kernel/pci-dma_64.c | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/arch/x86/kernel/pci-dma_32.c b/arch/x86/kernel/pci-dma_32.c index 048f09b625..0aae2f3847 100644 --- a/arch/x86/kernel/pci-dma_32.c +++ b/arch/x86/kernel/pci-dma_32.c | |||
@@ -63,7 +63,8 @@ void dma_free_coherent(struct device *dev, size_t size, | |||
63 | { | 63 | { |
64 | struct dma_coherent_mem *mem = dev ? dev->dma_mem : NULL; | 64 | struct dma_coherent_mem *mem = dev ? dev->dma_mem : NULL; |
65 | int order = get_order(size); | 65 | int order = get_order(size); |
66 | 66 | ||
67 | WARN_ON(irqs_disabled()); /* for portability */ | ||
67 | if (mem && vaddr >= mem->virt_base && vaddr < (mem->virt_base + (mem->size << PAGE_SHIFT))) { | 68 | if (mem && vaddr >= mem->virt_base && vaddr < (mem->virt_base + (mem->size << PAGE_SHIFT))) { |
68 | int page = (vaddr - mem->virt_base) >> PAGE_SHIFT; | 69 | int page = (vaddr - mem->virt_base) >> PAGE_SHIFT; |
69 | 70 | ||
diff --git a/arch/x86/kernel/pci-dma_64.c b/arch/x86/kernel/pci-dma_64.c index 29711445c8..9576a2eb37 100644 --- a/arch/x86/kernel/pci-dma_64.c +++ b/arch/x86/kernel/pci-dma_64.c | |||
@@ -167,6 +167,7 @@ EXPORT_SYMBOL(dma_alloc_coherent); | |||
167 | void dma_free_coherent(struct device *dev, size_t size, | 167 | void dma_free_coherent(struct device *dev, size_t size, |
168 | void *vaddr, dma_addr_t bus) | 168 | void *vaddr, dma_addr_t bus) |
169 | { | 169 | { |
170 | WARN_ON(irqs_disabled()); /* for portability */ | ||
170 | if (dma_ops->unmap_single) | 171 | if (dma_ops->unmap_single) |
171 | dma_ops->unmap_single(dev, bus, size, 0); | 172 | dma_ops->unmap_single(dev, bus, size, 0); |
172 | free_pages((unsigned long)vaddr, get_order(size)); | 173 | free_pages((unsigned long)vaddr, get_order(size)); |