drm/amdgpu: fix NULL pointer error
[ 141.420491] BUG: unable to handle kernel NULL pointer dereference at
0000000000000030
[ 141.420532] IP: [<
ffffffff81579ee1>] fence_remove_callback+0x11/0x60
[ 141.420563] PGD
20a030067
[ 141.420575] PUD
2088ca067
[ 141.420587] PMD 0
[ 141.420599] Oops: 0000 [#1] SMP
[ 141.420612] Modules linked in: amdgpu(OE) ttm(OE) drm_kms_helper(E) drm(E) i2c_algo_bit(E) fb_sys_fops(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) rpcsec_gss_krb5(E) nfsv4(E) nfs(E) fscache(E) eeepc_wmi(E) asus_wmi(E) sparse_keymap(E) snd_hda_codec_realtek(E) video(E) snd_hda_codec_generic(E) snd_hda_codec_hdmi(E) snd_hda_intel(E) joydev(E) snd_hda_codec(E) snd_seq_midi(E) snd_seq_midi_event(E) snd_hda_core(E) snd_hwdep(E) snd_rawmidi(E) snd_pcm(E) kvm(E) irqbypass(E) crct10dif_pclmul(E) snd_seq(E) crc32_pclmul(E) ghash_clmulni_intel(E) snd_seq_device(E) snd_timer(E) aesni_intel(E) aes_x86_64(E) lrw(E) gf128mul(E) glue_helper(E) ablk_helper(E) cryptd(E) snd(E) soundcore(E) serio_raw(E) shpchp(E) i2c_piix4(E) i2c_designware_platform(E) 8250_dw(E) i2c_designware_core(E) mac_hid(E) binfmt_misc(E)
[ 141.420948] nfsd(E) auth_rpcgss(E) nfs_acl(E) lockd(E) grace(E) sunrpc(E) parport_pc(E) ppdev(E) lp(E) parport(E) autofs4(E) hid_generic(E) usbhid(E) hid(E) psmouse(E) r8169(E) ahci(E) mii(E) libahci(E) wmi(E)
[ 141.421042] CPU: 14 PID: 223 Comm: kworker/14:2 Tainted: G OE 4.9.0-custom #4
[ 141.421074] Hardware name: System manufacturer System Product Name/PRIME B350-PLUS, BIOS 0606 04/06/2017
[ 141.421146] Workqueue: events amd_sched_job_timedout [amdgpu]
[ 141.421169] task:
ffff88020b03ba80 task.stack:
ffffc900016f4000
[ 141.421193] RIP: 0010:[<
ffffffff81579ee1>] [<
ffffffff81579ee1>] fence_remove_callback+0x11/0x60
[ 141.421229] RSP: 0018:
ffffc900016f7d30 EFLAGS:
00010202
[ 141.421250] RAX:
ffff8801c049fc00 RBX:
ffff8801d4d8dc00 RCX:
0000000000000000
[ 141.421278] RDX:
0000000000000001 RSI:
ffff8801c049fcc0 RDI:
0000000000000000
[ 141.421307] RBP:
ffffc900016f7d48 R08:
0000000000000000 R09:
0000000000000000
[ 141.421334] R10:
00000020ed512a30 R11:
0000000000000001 R12:
0000000000000000
[ 141.421362] R13:
ffff880209ba4ba0 R14:
ffff880209ba4c58 R15:
ffff8801c055cc60
[ 141.421390] FS:
0000000000000000(0000) GS:
ffff88021ef80000(0000) knlGS:
0000000000000000
[ 141.421421] CS: 0010 DS: 0000 ES: 0000 CR0:
0000000080050033
[ 141.421443] CR2:
0000000000000030 CR3:
000000020b554000 CR4:
00000000003406e0
[ 141.421471] Stack:
[ 141.421480]
ffff8801d4d8dc00 ffff880209ba4c48 ffff880209ba4ba0 ffffc900016f7d78
[ 141.421513]
ffffffffa0697920 ffff880209ba0000 0000000000000000 ffff880209ba2770
[ 141.421549]
ffff880209ba4b08 ffffc900016f7df0 ffffffffa05ce2ae ffffffffa0509eb7
[ 141.421583] Call Trace:
[ 141.421628] [<
ffffffffa0697920>] amd_sched_hw_job_reset+0x50/0xb0 [amdgpu]
[ 141.421676] [<
ffffffffa05ce2ae>] amdgpu_gpu_reset+0x8e/0x690 [amdgpu]
[ 141.421712] [<
ffffffffa0509eb7>] ? drm_printk+0x97/0xa0 [drm]
[ 141.421770] [<
ffffffffa0698156>] amdgpu_job_timedout+0x46/0x50 [amdgpu]
[ 141.421829] [<
ffffffffa0696a07>] amd_sched_job_timedout+0x17/0x20 [amdgpu]
[ 141.421859] [<
ffffffff81095493>] process_one_work+0x153/0x3f0
[ 141.421884] [<
ffffffff81095c5b>] worker_thread+0x12b/0x4b0
[ 141.421907] [<
ffffffff81095b30>] ? rescuer_thread+0x350/0x350
[ 141.421931] [<
ffffffff8109b423>] kthread+0xd3/0xf0
[ 141.421951] [<
ffffffff8109b350>] ? kthread_park+0x60/0x60
[ 141.421975] [<
ffffffff817e1ee5>] ret_from_fork+0x25/0x30
[ 141.421996] Code: ac 81 e8 a3 1f b0 ff 48 c7 c0 ea ff ff ff e9 48 ff ff ff 0f 1f 80 00 00 00 00 0f 1f 44 00 00 55 48 89 e5 41 55 41 54 49 89 fc 53 <48> 8b 7f 30 48 89 f3 e8 73 7c 26 00 48 8b 13 48 39 d3 41 0f 95
[ 141.422156] RIP [<
ffffffff81579ee1>] fence_remove_callback+0x11/0x60
[ 141.422183] RSP <
ffffc900016f7d30>
[ 141.422197] CR2:
0000000000000030
[ 141.433483] ---[ end trace
bc0949bf7ddd6d4b ]---
if the job is reset twice, then the parent could be NULL.
Signed-off-by: Chunming Zhou <David1.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>