diff options
Diffstat (limited to 'drivers/gpu/nvgpu/vgpu/gr_vgpu.c')
-rw-r--r-- | drivers/gpu/nvgpu/vgpu/gr_vgpu.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/vgpu/gr_vgpu.c b/drivers/gpu/nvgpu/vgpu/gr_vgpu.c index b913847b..2d6beda6 100644 --- a/drivers/gpu/nvgpu/vgpu/gr_vgpu.c +++ b/drivers/gpu/nvgpu/vgpu/gr_vgpu.c | |||
@@ -615,6 +615,7 @@ static int vgpu_gr_init_gr_config(struct gk20a *g, struct gr_gk20a *gr) | |||
615 | { | 615 | { |
616 | struct vgpu_priv_data *priv = vgpu_get_priv_data(g); | 616 | struct vgpu_priv_data *priv = vgpu_get_priv_data(g); |
617 | u32 gpc_index; | 617 | u32 gpc_index; |
618 | int err = -ENOMEM; | ||
618 | 619 | ||
619 | gk20a_dbg_fn(""); | 620 | gk20a_dbg_fn(""); |
620 | 621 | ||
@@ -653,7 +654,9 @@ static int vgpu_gr_init_gr_config(struct gk20a *g, struct gr_gk20a *gr) | |||
653 | g->ops.gr.bundle_cb_defaults(g); | 654 | g->ops.gr.bundle_cb_defaults(g); |
654 | g->ops.gr.cb_size_default(g); | 655 | g->ops.gr.cb_size_default(g); |
655 | g->ops.gr.calc_global_ctx_buffer_size(g); | 656 | g->ops.gr.calc_global_ctx_buffer_size(g); |
656 | g->ops.gr.init_fs_state(g); | 657 | err = g->ops.gr.init_fs_state(g); |
658 | if (err) | ||
659 | goto cleanup; | ||
657 | return 0; | 660 | return 0; |
658 | cleanup: | 661 | cleanup: |
659 | nvgpu_err(g, "out of memory"); | 662 | nvgpu_err(g, "out of memory"); |
@@ -664,7 +667,7 @@ cleanup: | |||
664 | nvgpu_kfree(g, gr->gpc_tpc_mask); | 667 | nvgpu_kfree(g, gr->gpc_tpc_mask); |
665 | gr->gpc_tpc_mask = NULL; | 668 | gr->gpc_tpc_mask = NULL; |
666 | 669 | ||
667 | return -ENOMEM; | 670 | return err; |
668 | } | 671 | } |
669 | 672 | ||
670 | int vgpu_gr_bind_ctxsw_zcull(struct gk20a *g, struct gr_gk20a *gr, | 673 | int vgpu_gr_bind_ctxsw_zcull(struct gk20a *g, struct gr_gk20a *gr, |