| Index: mali/linux/mali_memory_os_alloc.c |
| =================================================================== |
| --- mali.orig/linux/mali_memory_os_alloc.c |
| +++ mali/linux/mali_memory_os_alloc.c |
| @@ -239,8 +239,10 @@ int mali_mem_os_alloc_pages(mali_mem_os_ |
| /* Ensure page is flushed from CPU caches. */ |
| dma_addr = dma_map_page(&mali_platform_device->dev, new_page, |
| 0, _MALI_OSK_MALI_PAGE_SIZE, DMA_BIDIRECTIONAL); |
| - dma_unmap_page(&mali_platform_device->dev, dma_addr, |
| - _MALI_OSK_MALI_PAGE_SIZE, DMA_BIDIRECTIONAL); |
| + err = dma_mapping_error(&mali_platform_device->dev, dma_addr); |
| + if (likely(!err)) |
| + dma_unmap_page(&mali_platform_device->dev, dma_addr, |
| + _MALI_OSK_MALI_PAGE_SIZE, DMA_BIDIRECTIONAL); |
| dma_addr = dma_map_page(&mali_platform_device->dev, new_page, |
| 0, _MALI_OSK_MALI_PAGE_SIZE, DMA_BIDIRECTIONAL); |
| |