File tree Expand file tree Collapse file tree 1 file changed +14
-4
lines changed Expand file tree Collapse file tree 1 file changed +14
-4
lines changed Original file line number Diff line number Diff line change @@ -226,8 +226,12 @@ static struct dma_fence *v3d_bin_job_run(struct drm_sched_job *sched_job)
226
226
struct dma_fence * fence ;
227
227
unsigned long irqflags ;
228
228
229
- if (unlikely (job -> base .base .s_fence -> finished .error ))
229
+ if (unlikely (job -> base .base .s_fence -> finished .error )) {
230
+ spin_lock_irqsave (& v3d -> job_lock , irqflags );
231
+ v3d -> bin_job = NULL ;
232
+ spin_unlock_irqrestore (& v3d -> job_lock , irqflags );
230
233
return NULL ;
234
+ }
231
235
232
236
/* Lock required around bin_job update vs
233
237
* v3d_overflow_mem_work().
@@ -281,8 +285,10 @@ static struct dma_fence *v3d_render_job_run(struct drm_sched_job *sched_job)
281
285
struct drm_device * dev = & v3d -> drm ;
282
286
struct dma_fence * fence ;
283
287
284
- if (unlikely (job -> base .base .s_fence -> finished .error ))
288
+ if (unlikely (job -> base .base .s_fence -> finished .error )) {
289
+ v3d -> render_job = NULL ;
285
290
return NULL ;
291
+ }
286
292
287
293
v3d -> render_job = job ;
288
294
@@ -327,8 +333,10 @@ v3d_tfu_job_run(struct drm_sched_job *sched_job)
327
333
struct drm_device * dev = & v3d -> drm ;
328
334
struct dma_fence * fence ;
329
335
330
- if (unlikely (job -> base .base .s_fence -> finished .error ))
336
+ if (unlikely (job -> base .base .s_fence -> finished .error )) {
337
+ v3d -> tfu_job = NULL ;
331
338
return NULL ;
339
+ }
332
340
333
341
v3d -> tfu_job = job ;
334
342
@@ -373,8 +381,10 @@ v3d_csd_job_run(struct drm_sched_job *sched_job)
373
381
struct dma_fence * fence ;
374
382
int i , csd_cfg0_reg ;
375
383
376
- if (unlikely (job -> base .base .s_fence -> finished .error ))
384
+ if (unlikely (job -> base .base .s_fence -> finished .error )) {
385
+ v3d -> csd_job = NULL ;
377
386
return NULL ;
387
+ }
378
388
379
389
v3d -> csd_job = job ;
380
390
You can’t perform that action at this time.
0 commit comments