if (cotable_type >= SVGA_COTABLE_DX10_MAX)
                return ERR_PTR(-EINVAL);
 
-       return vmw_resource_reference
-               (container_of(ctx, struct vmw_user_context, res)->
-                cotables[cotable_type]);
+       return container_of(ctx, struct vmw_user_context, res)->
+               cotables[cotable_type];
 }
 
 /**
 
                                continue;
 
                        ret = vmw_resource_val_add(sw_context, res);
-                       vmw_resource_unreference(&res);
                        if (unlikely(ret != 0))
                                return ret;
                }
 
        cotable_res = vmw_context_cotable(ctx_node->ctx, SVGA_COTABLE_DXQUERY);
        ret = vmw_cotable_notify(cotable_res, cmd->q.queryId);
-       vmw_resource_unreference(&cotable_res);
 
        return ret;
 }
 
        res = vmw_context_cotable(ctx_node->ctx, vmw_view_cotables[view_type]);
        ret = vmw_cotable_notify(res, cmd->defined_id);
-       vmw_resource_unreference(&res);
        if (unlikely(ret != 0))
                return ret;
 
        res = vmw_context_cotable(ctx_node->ctx, vmw_so_cotables[so_type]);
        cmd = container_of(header, typeof(*cmd), header);
        ret = vmw_cotable_notify(res, cmd->defined_id);
-       vmw_resource_unreference(&res);
 
        return ret;
 }
 
        res = vmw_context_cotable(ctx_node->ctx, SVGA_COTABLE_DXSHADER);
        ret = vmw_cotable_notify(res, cmd->body.shaderId);
-       vmw_resource_unreference(&res);
        if (ret)
                return ret;
 
 
 
        res = &shader->res;
        shader->ctx = ctx;
-       shader->cotable = vmw_context_cotable(ctx, SVGA_COTABLE_DXSHADER);
+       shader->cotable = vmw_resource_reference
+               (vmw_context_cotable(ctx, SVGA_COTABLE_DXSHADER));
        shader->id = user_key;
        shader->committed = false;
        INIT_LIST_HEAD(&shader->cotable_head);
 
        res = &view->res;
        view->ctx = ctx;
        view->srf = vmw_resource_reference(srf);
-       view->cotable = vmw_context_cotable(ctx, vmw_view_cotables[view_type]);
+       view->cotable = vmw_resource_reference
+               (vmw_context_cotable(ctx, vmw_view_cotables[view_type]));
        view->view_type = view_type;
        view->view_id = user_key;
        view->cmd_size = cmd_size;