diff options
Diffstat (limited to 'drivers/gpu/drm/ttm/ttm_execbuf_util.c')
-rw-r--r-- | drivers/gpu/drm/ttm/ttm_execbuf_util.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gpu/drm/ttm/ttm_execbuf_util.c b/drivers/gpu/drm/ttm/ttm_execbuf_util.c index 7dcc6470e2f..c3a2100bace 100644 --- a/drivers/gpu/drm/ttm/ttm_execbuf_util.c +++ b/drivers/gpu/drm/ttm/ttm_execbuf_util.c | |||
@@ -203,14 +203,15 @@ void ttm_eu_fence_buffer_objects(struct list_head *list, void *sync_obj) | |||
203 | 203 | ||
204 | list_for_each_entry(entry, list, head) { | 204 | list_for_each_entry(entry, list, head) { |
205 | struct ttm_buffer_object *bo = entry->bo; | 205 | struct ttm_buffer_object *bo = entry->bo; |
206 | struct ttm_bo_driver *driver = bo->bdev->driver; | 206 | struct ttm_bo_device *bdev = bo->bdev; |
207 | struct ttm_bo_driver *driver = bdev->driver; | ||
207 | void *old_sync_obj; | 208 | void *old_sync_obj; |
208 | 209 | ||
209 | spin_lock(&bo->lock); | 210 | spin_lock(&bdev->fence_lock); |
210 | old_sync_obj = bo->sync_obj; | 211 | old_sync_obj = bo->sync_obj; |
211 | bo->sync_obj = driver->sync_obj_ref(sync_obj); | 212 | bo->sync_obj = driver->sync_obj_ref(sync_obj); |
212 | bo->sync_obj_arg = entry->new_sync_obj_arg; | 213 | bo->sync_obj_arg = entry->new_sync_obj_arg; |
213 | spin_unlock(&bo->lock); | 214 | spin_unlock(&bdev->fence_lock); |
214 | ttm_bo_unreserve(bo); | 215 | ttm_bo_unreserve(bo); |
215 | entry->reserved = false; | 216 | entry->reserved = false; |
216 | if (old_sync_obj) | 217 | if (old_sync_obj) |