On Tue, 2021-10-19 at 13:27 +0200, Christian König wrote: > Trivial fix since we now need to grab a reference to the fence we have > added. Previously the dma_resv function where doing that for us. > > Signed-off-by: Christian König <christian.koenig@xxxxxxx> > Fixes: 9c2ba265352a drm/scheduler: ("use new iterator in drm_sched_job_add_implicit_dependencies v2") > --- > drivers/gpu/drm/scheduler/sched_main.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/scheduler/sched_main.c b/drivers/gpu/drm/scheduler/sched_main.c > index 5bc5f775abe1..94fe51b3caa2 100644 > --- a/drivers/gpu/drm/scheduler/sched_main.c > +++ b/drivers/gpu/drm/scheduler/sched_main.c > @@ -707,6 +707,9 @@ int drm_sched_job_add_implicit_dependencies(struct drm_sched_job *job, > ret = drm_sched_job_add_dependency(job, fence); > if (ret) > return ret; > + > + /* Make sure to grab an additional ref on the added fence */ > + dma_fence_get(fence); > } > return 0; > } Fixes this error on Qualcomm MSM8996: [ 16.493786] Unable to handle kernel paging request at virtual address 0000100000000000 [ 16.493823] Mem abort info: [ 16.493832] ESR = 0x96000004 [ 16.493843] EC = 0x25: DABT (current EL), IL = 32 bits [ 16.493855] SET = 0, FnV = 0 [ 16.493864] EA = 0, S1PTW = 0 [ 16.493874] FSC = 0x04: level 0 translation fault [ 16.493884] Data abort info: [ 16.493893] ISV = 0, ISS = 0x00000004 [ 16.493902] CM = 0, WnR = 0 [ 16.493912] user pgtable: 4k pages, 48-bit VAs, pgdp=000000011e406000 [ 16.493924] [0000100000000000] pgd=0000000000000000, p4d=0000000000000000 [ 16.493949] Internal error: Oops: 96000004 [#1] PREEMPT SMP [ 16.493961] Modules linked in: q6asm_dai q6routing q6afe_dai q6asm q6adm snd_q6dsp_common snd_soc_wcd9335 venus_enc venus_dec panel_lgphilips_sw43101 videobuf2_dma_contig q6afe regmap_slimbus videobuf2_memops q6core apr ath10k_pci ath10k_core ath mac80211 libarc4 venus_core cfg80211 v4l2_mem2mem videobuf2_v4l2 videobuf2_common videodev mc msm hci_uart nxp_nci_i2c nxp_nci slim_qcom_ngd_ctrl btqca pdr_interface gpu_sched slimbus drm_kms_helper nci syscopyarea sysfillrect bluetooth sysimgblt fb_sys_fops nfc qcom_spmi_haptics rfkill qcom_q6v5_pas qcom_q6v5_mss qcom_pil_info qcom_common qcom_q6v5 qcom_sysmon qmi_helpers snd_soc_apq8096 mdt_loader snd_soc_qcom_common snd_soc_core snd_compress snd_pcm snd_timer snd soundcore lzo_rle socinfo rpmsg_char pwm_ir_tx rmtfs_mem zram atmel_mxt_ts drm drm_panel_orientation_quirks ip_tables [ 16.494320] CPU: 1 PID: 521 Comm: phoc:sq0 Not tainted 5.16.0-rc1+ #68 [ 16.494335] Hardware name: Xiaomi Mi Note 2 (DT) [ 16.494346] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 16.494362] pc : drm_sched_job_add_dependency+0xe0/0x214 [gpu_sched] [ 16.494396] lr : drm_sched_job_add_dependency+0x70/0x214 [gpu_sched] [ 16.494417] sp : ffff800013e2baf0 [ 16.494427] x29: ffff800013e2baf0 x28: 0000000000000002 x27: 000000000000001b [ 16.494452] x26: ffff000099ad0200 x25: 000000000000001a x24: 0000000000000010 [ 16.494476] x23: ffff000098e99800 x22: 0000000000000000 x21: 0000000000000000 [ 16.494500] x20: ffff000098e99870 x19: ffff000081e50940 x18: 0000000000000000 [ 16.494524] x17: 0000000000000000 x16: 0000000000000000 x15: 0000ffff83a4576c [ 16.494548] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000040 [ 16.494571] x11: ffff00009f19fb50 x10: ffff00009f19fb52 x9 : 0000000000000001 [ 16.494595] x8 : 0000000000000228 x7 : ffffffffffffffff x6 : 0000000000000001 [ 16.494619] x5 : ffff800013e2bab8 x4 : ffff800013e2bab8 x3 : 0000100000000000 [ 16.494643] x2 : 0000100000000000 x1 : fffffc0002f04640 x0 : ffff000081e50940 [ 16.494668] Call trace: [ 16.494679] drm_sched_job_add_dependency+0xe0/0x214 [gpu_sched] [ 16.494702] drm_sched_job_add_implicit_dependencies+0x60/0x9c [gpu_sched] [ 16.494724] msm_ioctl_gem_submit+0xe98/0x179c [msm] [ 16.494871] drm_ioctl_kernel+0xc4/0x16c [drm] [ 16.495046] drm_ioctl+0x214/0x44c [drm] [ 16.495162] __arm64_sys_ioctl+0xa8/0xf0 [ 16.495183] invoke_syscall+0x48/0x114 [ 16.495201] el0_svc_common.constprop.0+0x44/0xfc [ 16.495215] do_el0_svc+0x28/0x90 [ 16.495229] el0_svc+0x28/0x80 [ 16.495243] el0t_64_sync_handler+0xa4/0x130 [ 16.495255] el0t_64_sync+0x1a0/0x1a4 [ 16.495275] Code: d50323bf d65f03c0 f9400662 f9401403 (39400042) [ 16.495291] ---[ end trace cbfcea8f309d97a1 ]--- Tested-by: Yassine Oudjana <y.oudjana@xxxxxxxxxxxxxx>