Messages in this thread Patch in this message | | | From | Joerg Roedel <> | Subject | [PATCH] Revert "iommu/amd: Don't allocate with __GFP_ZERO in alloc_coherent" | Date | Tue, 2 Jun 2015 08:45:16 +0200 |
| |
From: Joerg Roedel <jroedel@suse.de>
This reverts commit 5fc872c7323534e8f7dc21bab635e7a9b9659e07.
The DMA-API does not strictly require that the memory returned by dma_alloc_coherent is zeroed out. For that another function (dma_zalloc_coherent) should be used. But all other x86 DMA-API implementation I checked zero out the memory, so that some drivers rely on it and break when it is not.
It seems the (driver-)world is not yet ready for this change, so revert it.
Signed-off-by: Joerg Roedel <jroedel@suse.de> --- drivers/iommu/amd_iommu.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c index e43d489..e1c7e9e 100644 --- a/drivers/iommu/amd_iommu.c +++ b/drivers/iommu/amd_iommu.c @@ -2930,6 +2930,7 @@ static void *alloc_coherent(struct device *dev, size_t size, size = PAGE_ALIGN(size); dma_mask = dev->coherent_dma_mask; flag &= ~(__GFP_DMA | __GFP_HIGHMEM | __GFP_DMA32); + flag |= __GFP_ZERO; page = alloc_pages(flag | __GFP_NOWARN, get_order(size)); if (!page) { -- 1.8.4.5
| |