From 435cf045d7f856e90c9087403dfcbc2677a4575a Mon Sep 17 00:00:00 2001 From: Konsta Holtta Date: Fri, 26 Sep 2014 16:05:41 +0300 Subject: gpu: nvgpu: cde: check return values from busy check gk20a_busy return value in cde converter code paths. Bug 200040921 Change-Id: Ibad36df5877e325636a0a6ccc30c0d3d076ca941 Signed-off-by: Konsta Holtta Signed-off-by: Arto Merilainen Reviewed-on: http://git-master/r/540006 --- drivers/gpu/nvgpu/gk20a/cde_gk20a.c | 13 ++++++++++--- drivers/gpu/nvgpu/gk20a/ctrl_gk20a.c | 15 +++++++++++---- 2 files changed, 21 insertions(+), 7 deletions(-) (limited to 'drivers/gpu') diff --git a/drivers/gpu/nvgpu/gk20a/cde_gk20a.c b/drivers/gpu/nvgpu/gk20a/cde_gk20a.c index 3644c2ef..c2e2cc98 100644 --- a/drivers/gpu/nvgpu/gk20a/cde_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/cde_gk20a.c @@ -842,7 +842,9 @@ int gk20a_cde_reload(struct gk20a *g) int err, i; if (!cde_app->initialised) { - gk20a_busy(g->dev); + err = gk20a_busy(g->dev); + if (err) + return err; gk20a_init_cde_support(g); gk20a_idle(g->dev); if (!cde_app->initialised) @@ -850,7 +852,10 @@ int gk20a_cde_reload(struct gk20a *g) return 0; } - gk20a_busy(g->dev); + err = gk20a_busy(g->dev); + if (err) + return err; + mutex_lock(&cde_app->mutex); for (i = 0; i < ARRAY_SIZE(cde_app->cde_ctx); i++, cde_ctx++) { gk20a_cde_remove(cde_ctx); @@ -1043,7 +1048,9 @@ static int gk20a_buffer_convert_gpu_to_cde( WRITE_PATCH(PATCH_QMD_CTA_THREAD_DIMENSION2, 1); #undef WRITE_PATCH - gk20a_busy(g->dev); + err = gk20a_busy(g->dev); + if (err) + return err; err = gk20a_init_cde_support(g); if (err) goto out; diff --git a/drivers/gpu/nvgpu/gk20a/ctrl_gk20a.c b/drivers/gpu/nvgpu/gk20a/ctrl_gk20a.c index b196e330..53fab0d9 100644 --- a/drivers/gpu/nvgpu/gk20a/ctrl_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/ctrl_gk20a.c @@ -91,7 +91,10 @@ static int gk20a_ctrl_prepare_compressible_read( fence.syncpt_id = args->fence.syncpt_id; fence.value = args->fence.syncpt_value; - gk20a_busy(g->dev); + ret = gk20a_busy(g->dev); + if (ret) + return ret; + ret = gk20a_prepare_compressible_read(g, args->handle, args->request_compbits, args->offset, args->compbits_hoffset, args->compbits_voffset, @@ -137,7 +140,9 @@ static int gk20a_ctrl_mark_compressible_write( { int ret = 0; - gk20a_busy(g->dev); + ret = gk20a_busy(g->dev); + if (ret) + return ret; ret = gk20a_mark_compressible_write(g, args->handle, args->valid_compbits, args->offset, args->zbc_color); gk20a_idle(g->dev); @@ -249,8 +254,10 @@ long gk20a_ctrl_dev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg } if (!err) { - gk20a_busy(dev); - err = gk20a_gr_zbc_set_table(g, &g->gr, zbc_val); + err = gk20a_busy(dev); + if (!err) + err = gk20a_gr_zbc_set_table(g, &g->gr, + zbc_val); gk20a_idle(dev); } -- cgit v1.2.2