drm/ttm: Fix accounting error when fail to get pages for pool
authorXiangliang.Yu <Xiangliang.Yu@amd.com>
Wed, 16 Aug 2017 06:25:51 +0000 (14:25 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 7 Sep 2017 06:35:40 +0000 (08:35 +0200)
commit 9afae2719273fa1d406829bf3498f82dbdba71c7 upstream.

When fail to get needed page for pool, need to put allocated pages
into pool. But current code has a miscalculation of allocated pages,
correct it.

Signed-off-by: Xiangliang.Yu <Xiangliang.Yu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Monk Liu <monk.liu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/ttm/ttm_page_alloc.c

index a37de5db5731da0d46276bc396cabb73c63f6b03..ddd6badd0eee3d63ce4e8e4f79b9c2450cb6431c 100644 (file)
@@ -612,7 +612,7 @@ static void ttm_page_pool_fill_locked(struct ttm_page_pool *pool,
                } else {
                        pr_err("Failed to fill pool (%p)\n", pool);
                        /* If we have any pages left put them to the pool. */
-                       list_for_each_entry(p, &pool->list, lru) {
+                       list_for_each_entry(p, &new_pages, lru) {
                                ++cpages;
                        }
                        list_splice(&new_pages, &pool->list);