From 3d0d911c965a77299b5e611c9f1c55cc4d515c11 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Wed, 3 Dec 2008 12:54:45 +0100 Subject: [PATCH] --- yaml --- r: 119695 b: refs/heads/master c: c36910c147fd7b129a8f1269c76b9767c99de5cd h: refs/heads/master i: 119693: bf68ecdcd6a1ad8e2d56ca90f89b4c1daeec2db8 119691: 323e9928fe3cf920f13ba01b31eee9c964f3b094 119687: 0ff670a27a2cb19c0b1cbf6b5707902c56c72e04 119679: 056b0be904f9bf367402bf698c60eb6f66aaaa70 v: v3 --- [refs] | 2 +- trunk/arch/x86/include/asm/dma-mapping.h | 6 ++---- trunk/arch/x86/kernel/pci-gart_64.c | 2 ++ 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index a3adbef58fd8..5dd7a5e473d8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 09ee17eb8ea89514c13980c4010bdbbaea8630c2 +refs/heads/master: c36910c147fd7b129a8f1269c76b9767c99de5cd diff --git a/trunk/arch/x86/include/asm/dma-mapping.h b/trunk/arch/x86/include/asm/dma-mapping.h index 7f225a4b2a26..097794ff6b79 100644 --- a/trunk/arch/x86/include/asm/dma-mapping.h +++ b/trunk/arch/x86/include/asm/dma-mapping.h @@ -71,15 +71,13 @@ static inline struct dma_mapping_ops *get_dma_ops(struct device *dev) /* Make sure we keep the same behaviour */ static inline int dma_mapping_error(struct device *dev, dma_addr_t dma_addr) { -#ifdef CONFIG_X86_32 - return 0; -#else +#ifdef CONFIG_X86_64 struct dma_mapping_ops *ops = get_dma_ops(dev); if (ops->mapping_error) return ops->mapping_error(dev, dma_addr); - return (dma_addr == bad_dma_address); #endif + return (dma_addr == bad_dma_address); } #define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f) diff --git a/trunk/arch/x86/kernel/pci-gart_64.c b/trunk/arch/x86/kernel/pci-gart_64.c index a42b02b4df68..ba7ad83e20a8 100644 --- a/trunk/arch/x86/kernel/pci-gart_64.c +++ b/trunk/arch/x86/kernel/pci-gart_64.c @@ -123,6 +123,8 @@ static void free_iommu(unsigned long offset, int size) spin_lock_irqsave(&iommu_bitmap_lock, flags); iommu_area_free(iommu_gart_bitmap, offset, size); + if (offset >= next_bit) + next_bit = offset + size; spin_unlock_irqrestore(&iommu_bitmap_lock, flags); }