diff options
Diffstat (limited to 'drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c')
-rw-r--r-- | drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c b/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c index 7a5f1eb55c5a..3f0b4d1450ff 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c | |||
@@ -114,8 +114,10 @@ static void vmw_resource_list_unreserve(struct list_head *list, | |||
114 | * persistent context binding tracker. | 114 | * persistent context binding tracker. |
115 | */ | 115 | */ |
116 | if (unlikely(val->staged_bindings)) { | 116 | if (unlikely(val->staged_bindings)) { |
117 | vmw_context_binding_state_transfer | 117 | if (!backoff) { |
118 | (val->res, val->staged_bindings); | 118 | vmw_context_binding_state_transfer |
119 | (val->res, val->staged_bindings); | ||
120 | } | ||
119 | kfree(val->staged_bindings); | 121 | kfree(val->staged_bindings); |
120 | val->staged_bindings = NULL; | 122 | val->staged_bindings = NULL; |
121 | } | 123 | } |