diff options
Diffstat (limited to 'arch/arm/mm/dma-mapping.c')
| -rw-r--r-- | arch/arm/mm/dma-mapping.c | 6 | 
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c index d766e4256b7..655878bcc96 100644 --- a/arch/arm/mm/dma-mapping.c +++ b/arch/arm/mm/dma-mapping.c @@ -1067,7 +1067,7 @@ static struct page **__iommu_alloc_buffer(struct device *dev, size_t size, gfp_t  		return NULL;  	while (count) { -		int j, order = __ffs(count); +		int j, order = __fls(count);  		pages[i] = alloc_pages(gfp | __GFP_NOWARN, order);  		while (!pages[i] && order) @@ -1091,7 +1091,7 @@ error:  	while (--i)  		if (pages[i])  			__free_pages(pages[i], 0); -	if (array_size < PAGE_SIZE) +	if (array_size <= PAGE_SIZE)  		kfree(pages);  	else  		vfree(pages); @@ -1106,7 +1106,7 @@ static int __iommu_free_buffer(struct device *dev, struct page **pages, size_t s  	for (i = 0; i < count; i++)  		if (pages[i])  			__free_pages(pages[i], 0); -	if (array_size < PAGE_SIZE) +	if (array_size <= PAGE_SIZE)  		kfree(pages);  	else  		vfree(pages);  |