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 <kholtta@nvidia.com>
Signed-off-by: Arto Merilainen <amerilainen@nvidia.com>
Reviewed-on: http://git-master/r/540006
This commit is contained in:
Konsta Holtta
2014-09-26 16:05:41 +03:00
committed by Dan Willemsen
parent 47298dae35
commit 435cf045d7
2 changed files with 21 additions and 7 deletions

View File

@@ -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;

View File

@@ -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);
}