mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 22:51:42 +00:00
ARM: 8437/1: dma-mapping: fix build warning with new DMA_ERROR_CODE definition
Commit 96231b2686
: ("ARM: 8419/1: dma-mapping: harmonize definition
of DMA_ERROR_CODE") changed the definition of DMA_ERROR_CODE to use
dma_addr_t, which makes the compiler barf on assigning this to an
"int" variable on ARM with LPAE enabled:
*************
In file included from /src/linux/include/linux/dma-mapping.h:86:0,
from /src/linux/arch/arm/mm/dma-mapping.c:21:
/src/linux/arch/arm/mm/dma-mapping.c: In function '__iommu_create_mapping':
/src/linux/arch/arm/include/asm/dma-mapping.h:16:24: warning:
overflow in implicit constant conversion [-Woverflow]
#define DMA_ERROR_CODE (~(dma_addr_t)0x0)
^
/src/linux/arch/arm/mm/dma-mapping.c:1252:15: note: in expansion of
macro DMA_ERROR_CODE'
int i, ret = DMA_ERROR_CODE;
^
*************
Remove the actually unneeded initialization of "ret" in
__iommu_create_mapping() and move the variable declaration inside the
for-loop to make the scope of this variable more clear.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
12fc7306e6
commit
90cde5584a
@ -1257,7 +1257,7 @@ __iommu_create_mapping(struct device *dev, struct page **pages, size_t size)
|
|||||||
struct dma_iommu_mapping *mapping = to_dma_iommu_mapping(dev);
|
struct dma_iommu_mapping *mapping = to_dma_iommu_mapping(dev);
|
||||||
unsigned int count = PAGE_ALIGN(size) >> PAGE_SHIFT;
|
unsigned int count = PAGE_ALIGN(size) >> PAGE_SHIFT;
|
||||||
dma_addr_t dma_addr, iova;
|
dma_addr_t dma_addr, iova;
|
||||||
int i, ret = DMA_ERROR_CODE;
|
int i;
|
||||||
|
|
||||||
dma_addr = __alloc_iova(mapping, size);
|
dma_addr = __alloc_iova(mapping, size);
|
||||||
if (dma_addr == DMA_ERROR_CODE)
|
if (dma_addr == DMA_ERROR_CODE)
|
||||||
@ -1265,6 +1265,8 @@ __iommu_create_mapping(struct device *dev, struct page **pages, size_t size)
|
|||||||
|
|
||||||
iova = dma_addr;
|
iova = dma_addr;
|
||||||
for (i = 0; i < count; ) {
|
for (i = 0; i < count; ) {
|
||||||
|
int ret;
|
||||||
|
|
||||||
unsigned int next_pfn = page_to_pfn(pages[i]) + 1;
|
unsigned int next_pfn = page_to_pfn(pages[i]) + 1;
|
||||||
phys_addr_t phys = page_to_phys(pages[i]);
|
phys_addr_t phys = page_to_phys(pages[i]);
|
||||||
unsigned int len, j;
|
unsigned int len, j;
|
||||||
|
Loading…
Reference in New Issue
Block a user