drm/exynos: fix pages allocation size in lowlevel_buffer_allocate
authorYoungJun Cho <yj44.cho@samsung.com>
Wed, 3 Jul 2013 08:09:20 +0000 (17:09 +0900)
committerInki Dae <inki.dae@samsung.com>
Thu, 4 Jul 2013 06:55:37 +0000 (15:55 +0900)
When IOMMU is not supported, buf->pages has to be allocated to
assign the result of phys_to_page() which return type is struct
page *. So it is sufficient to allocate buf->pages with the size
of multiple struct page pointers.

Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_drm_buf.c

index 245c9ae187a14351547ba21be4c5608b9ab80066..518b6d8e062bfabf564e20d0d4ad05e50ef98277 100644 (file)
@@ -57,7 +57,7 @@ static int lowlevel_buffer_allocate(struct drm_device *dev,
                dma_addr_t start_addr;
                unsigned int i = 0;
 
-               buf->pages = drm_calloc_large(nr_pages, sizeof(struct page));
+               buf->pages = drm_calloc_large(nr_pages, sizeof(struct page *));
                if (!buf->pages) {
                        DRM_ERROR("failed to allocate pages.\n");
                        return -ENOMEM;