From 2f724b15f13e8d528a8b2c9a8543d1cfe574043d Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 16 Jan 2013 14:25:44 +1000 Subject: [PATCH] --- yaml --- r: 348943 b: refs/heads/master c: 630541863b29f88c7ab34e647758344e4cd1eafd h: refs/heads/master i: 348941: 572a47b68aea4398016f99fc55fb67f909aa3b83 348939: decadf6521308f36f5f7245d87d93f2343d528f7 348935: 0df85d43bc1f63d898d1b2bcf7e395f54248badb 348927: d5027f0c083dcb162b8c6b0d77c44f6d21d5bb38 v: v3 --- [refs] | 2 +- trunk/drivers/gpu/drm/ttm/ttm_bo_util.c | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 375c63b04189..34fa1ca82d6a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ffb5fd53ef27df22a6850019ecb5488686a573f1 +refs/heads/master: 630541863b29f88c7ab34e647758344e4cd1eafd diff --git a/trunk/drivers/gpu/drm/ttm/ttm_bo_util.c b/trunk/drivers/gpu/drm/ttm/ttm_bo_util.c index d73d6e3e17b2..44420fca7dfa 100644 --- a/trunk/drivers/gpu/drm/ttm/ttm_bo_util.c +++ b/trunk/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: