summaryrefslogtreecommitdiff
path: root/drivers/gpu/host1x/job.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/host1x/job.c')
-rw-r--r--drivers/gpu/host1x/job.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/drivers/gpu/host1x/job.c b/drivers/gpu/host1x/job.c
index d9933828fe87..14f3f957ffab 100644
--- a/drivers/gpu/host1x/job.c
+++ b/drivers/gpu/host1x/job.c
@@ -592,22 +592,20 @@ int host1x_job_pin(struct host1x_job *job, struct device *dev)
err = do_relocs(job, g->bo);
if (err)
- break;
+ goto out;
err = do_waitchks(job, host, g->bo);
if (err)
- break;
+ goto out;
}
- if (IS_ENABLED(CONFIG_TEGRA_HOST1X_FIREWALL) && !err) {
- err = copy_gathers(job, dev);
- if (err) {
- host1x_job_unpin(job);
- return err;
- }
- }
+ if (!IS_ENABLED(CONFIG_TEGRA_HOST1X_FIREWALL))
+ goto out;
+ err = copy_gathers(job, dev);
out:
+ if (err)
+ host1x_job_unpin(job);
wmb();
return err;