diff options
Diffstat (limited to 'drivers/gpu/drm/ttm')
| -rw-r--r-- | drivers/gpu/drm/ttm/ttm_object.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/ttm/ttm_tt.c | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/ttm/ttm_object.c b/drivers/gpu/drm/ttm/ttm_object.c index 37079859afc8..53b51c4e671a 100644 --- a/drivers/gpu/drm/ttm/ttm_object.c +++ b/drivers/gpu/drm/ttm/ttm_object.c | |||
| @@ -292,7 +292,7 @@ int ttm_ref_object_add(struct ttm_object_file *tfile, | |||
| 292 | 292 | ||
| 293 | if (ret == 0) { | 293 | if (ret == 0) { |
| 294 | ref = drm_hash_entry(hash, struct ttm_ref_object, hash); | 294 | ref = drm_hash_entry(hash, struct ttm_ref_object, hash); |
| 295 | if (!kref_get_unless_zero(&ref->kref)) { | 295 | if (kref_get_unless_zero(&ref->kref)) { |
| 296 | rcu_read_unlock(); | 296 | rcu_read_unlock(); |
| 297 | break; | 297 | break; |
| 298 | } | 298 | } |
diff --git a/drivers/gpu/drm/ttm/ttm_tt.c b/drivers/gpu/drm/ttm/ttm_tt.c index 9af99084b344..75f319090043 100644 --- a/drivers/gpu/drm/ttm/ttm_tt.c +++ b/drivers/gpu/drm/ttm/ttm_tt.c | |||
| @@ -380,6 +380,9 @@ static void ttm_tt_clear_mapping(struct ttm_tt *ttm) | |||
| 380 | pgoff_t i; | 380 | pgoff_t i; |
| 381 | struct page **page = ttm->pages; | 381 | struct page **page = ttm->pages; |
| 382 | 382 | ||
| 383 | if (ttm->page_flags & TTM_PAGE_FLAG_SG) | ||
| 384 | return; | ||
| 385 | |||
| 383 | for (i = 0; i < ttm->num_pages; ++i) { | 386 | for (i = 0; i < ttm->num_pages; ++i) { |
| 384 | (*page)->mapping = NULL; | 387 | (*page)->mapping = NULL; |
| 385 | (*page++)->index = 0; | 388 | (*page++)->index = 0; |
