| @@ -188,18 +188,20 @@ static void vmw_takedown_otable_base(struct vmw_private *dev_priv, · 187 unmodified lines |
| 188 | 188 | |
| 189 | 189 | bo = otable->page_table->pt_bo; |
| 190 | 190 | cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd)); |
| 191 | | − if (unlikely(cmd == NULL)) |
| 192 | | − DRM_ERROR("Failed reserving FIFO space for OTable setup.\n"); |
| 193 | | − |
| 194 | | − memset(cmd, 0, sizeof(*cmd)); |
| 195 | | − cmd->header.id = SVGA_3D_CMD_SET_OTABLE_BASE; |
| 196 | | − cmd->header.size = sizeof(cmd->body); |
| 197 | | − cmd->body.type = type; |
| 198 | | − cmd->body.baseAddress = 0; |
| 199 | | − cmd->body.sizeInBytes = 0; |
| 200 | | − cmd->body.validSizeInBytes = 0; |
| 201 | | − cmd->body.ptDepth = SVGA3D_MOBFMT_INVALID; |
| 202 | | − vmw_fifo_commit(dev_priv, sizeof(*cmd)); |
| 191 | + if (unlikely(cmd == NULL)) { |
| 192 | + DRM_ERROR("Failed reserving FIFO space for OTable " |
| 193 | + "takedown.\n"); |
| 194 | + } else { |
| 195 | + memset(cmd, 0, sizeof(*cmd)); |
| 196 | + cmd->header.id = SVGA_3D_CMD_SET_OTABLE_BASE; |
| 197 | + cmd->header.size = sizeof(cmd->body); |
| 198 | + cmd->body.type = type; |
| 199 | + cmd->body.baseAddress = 0; |
| 200 | + cmd->body.sizeInBytes = 0; |
| 201 | + cmd->body.validSizeInBytes = 0; |
| 202 | + cmd->body.ptDepth = SVGA3D_MOBFMT_INVALID; |
| 203 | + vmw_fifo_commit(dev_priv, sizeof(*cmd)); |
| 204 | + } |
| 203 | 205 | |
| 204 | 206 | if (bo) { |
| 205 | 207 | int ret; |
| @@ -562,11 +564,12 @@ void vmw_mob_unbind(struct vmw_private *dev_priv, · 356 unmodified lines |
| 562 | 564 | if (unlikely(cmd == NULL)) { |
| 563 | 565 | DRM_ERROR("Failed reserving FIFO space for Memory " |
| 564 | 566 | "Object unbinding.\n"); |
| 567 | + } else { |
| 568 | + cmd->header.id = SVGA_3D_CMD_DESTROY_GB_MOB; |
| 569 | + cmd->header.size = sizeof(cmd->body); |
| 570 | + cmd->body.mobid = mob->id; |
| 571 | + vmw_fifo_commit(dev_priv, sizeof(*cmd)); |
| 565 | 572 | } |
| 566 | | − cmd->header.id = SVGA_3D_CMD_DESTROY_GB_MOB; |
| 567 | | − cmd->header.size = sizeof(cmd->body); |
| 568 | | − cmd->body.mobid = mob->id; |
| 569 | | − vmw_fifo_commit(dev_priv, sizeof(*cmd)); |
| 570 | 573 | if (bo) { |
| 571 | 574 | vmw_fence_single_bo(bo, NULL); |
| 572 | 575 | ttm_bo_unreserve(bo); |