summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/ttm/ttm_bo_util.c
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2013-01-30 10:04:23 -0800
committerOlof Johansson <olof@lixom.net>2013-01-30 10:04:56 -0800
commit3e93093ecd0c144e86a86cc1f165221b6cd3e7fb (patch)
tree0d6dffb90985bd90fd0ca43076a629f12e277096 /drivers/gpu/drm/ttm/ttm_bo_util.c
parent43243322139194c2fea606095f82498e07536c27 (diff)
parentda660b4a3b15caea9c198c4f26d1cf7023df92fc (diff)
Merge tag 'vexpress/drivers-for-3.9' of git://git.linaro.org/people/pawelmoll/linux into next/drivers
From Pawel Moll: Versatile Express related driver updates for 3.9: * Move sp810 header to a more generic location, mainly to share it with arm64 * tag 'vexpress/drivers-for-3.9' of git://git.linaro.org/people/pawelmoll/linux: arm: Move sp810.h to include/linux/amba/ + Linux 3.8-rc5 Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'drivers/gpu/drm/ttm/ttm_bo_util.c')
-rw-r--r--drivers/gpu/drm/ttm/ttm_bo_util.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/gpu/drm/ttm/ttm_bo_util.c b/drivers/gpu/drm/ttm/ttm_bo_util.c
index d73d6e3e17b2..44420fca7dfa 100644
--- a/drivers/gpu/drm/ttm/ttm_bo_util.c
+++ b/drivers/gpu/drm/ttm/ttm_bo_util.c
@@ -344,8 +344,12 @@ int ttm_bo_move_memcpy(struct ttm_buffer_object *bo,
if (ttm->state == tt_unpopulated) {
ret = ttm->bdev->driver->ttm_tt_populate(ttm);
- if (ret)
+ if (ret) {
+ /* if we fail here don't nuke the mm node
+ * as the bo still owns it */
+ old_copy.mm_node = NULL;
goto out1;
+ }
}
add = 0;
@@ -371,8 +375,11 @@ int ttm_bo_move_memcpy(struct ttm_buffer_object *bo,
prot);
} else
ret = ttm_copy_io_page(new_iomap, old_iomap, page);
- if (ret)
+ if (ret) {
+ /* failing here, means keep old copy as-is */
+ old_copy.mm_node = NULL;
goto out1;
+ }
}
mb();
out2: