Browse Source

drm/vmwgfx: Don't commit staged bindings if execbuf fails

If execbuf fails and binding commands are never sent to the device,
don't commit the staged context bindings to the tracker.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
Thomas Hellstrom 11 years ago
parent
commit
76c7d18bcd
1 changed files with 4 additions and 2 deletions
  1. 4 2
      drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c

+ 4 - 2
drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c

@@ -114,8 +114,10 @@ static void vmw_resource_list_unreserve(struct list_head *list,
 		 * persistent context binding tracker.
 		 */
 		if (unlikely(val->staged_bindings)) {
-			vmw_context_binding_state_transfer
-				(val->res, val->staged_bindings);
+			if (!backoff) {
+				vmw_context_binding_state_transfer
+					(val->res, val->staged_bindings);
+			}
 			kfree(val->staged_bindings);
 			val->staged_bindings = NULL;
 		}