@@ -102,8 +102,10 @@ v3d_irq(int irq, void *arg)
102102 to_v3d_fence (v3d -> bin_job -> base .irq_fence );
103103
104104 trace_v3d_bcl_irq (& v3d -> drm , fence -> seqno );
105- dma_fence_signal ( & fence -> base );
105+
106106 v3d -> bin_job = NULL ;
107+ dma_fence_signal (& fence -> base );
108+
107109 status = IRQ_HANDLED ;
108110 }
109111
@@ -112,8 +114,10 @@ v3d_irq(int irq, void *arg)
112114 to_v3d_fence (v3d -> render_job -> base .irq_fence );
113115
114116 trace_v3d_rcl_irq (& v3d -> drm , fence -> seqno );
115- dma_fence_signal ( & fence -> base );
117+
116118 v3d -> render_job = NULL ;
119+ dma_fence_signal (& fence -> base );
120+
117121 status = IRQ_HANDLED ;
118122 }
119123
@@ -122,8 +126,10 @@ v3d_irq(int irq, void *arg)
122126 to_v3d_fence (v3d -> csd_job -> base .irq_fence );
123127
124128 trace_v3d_csd_irq (& v3d -> drm , fence -> seqno );
125- dma_fence_signal ( & fence -> base );
129+
126130 v3d -> csd_job = NULL ;
131+ dma_fence_signal (& fence -> base );
132+
127133 status = IRQ_HANDLED ;
128134 }
129135
@@ -159,8 +165,10 @@ v3d_hub_irq(int irq, void *arg)
159165 to_v3d_fence (v3d -> tfu_job -> base .irq_fence );
160166
161167 trace_v3d_tfu_irq (& v3d -> drm , fence -> seqno );
162- dma_fence_signal ( & fence -> base );
168+
163169 v3d -> tfu_job = NULL ;
170+ dma_fence_signal (& fence -> base );
171+
164172 status = IRQ_HANDLED ;
165173 }
166174
0 commit comments