Philip Yang
436afdfa35
drm/amdgpu: Move reset domain init before calling RREG32
amdgpu_detect_virtualization reads register, amdgpu_device_rreg access
adev->reset_domain->sem if kernel defined CONFIG_LOCKDEP, below is the
random boot hang backtrace on Vega10. It may get random NULL pointer
access backtrace if amdgpu_sriov_runtime is true too.
Move amdgpu_reset_create_reset_domain before calling to RREG32.
BUG: kernel NULL pointer dereference, address:
#PF: supervisor read access in kernel mode
#PF: error_code(0x0000) - not-present page
PGD 0 P4D 0
Oops: 0000 [#1] PREEMPT SMP NOPTI
Workqueue: events work_for_cpu_fn
RIP: 0010:down_read_trylock+0x13/0xf0
Call Trace:
<TASK>
amdgpu_device_skip_hw_access+0x38/0x80 [amdgpu]
amdgpu_device_rreg+0x1b/0x170 [amdgpu]
amdgpu_detect_virtualization+0x73/0x100 [amdgpu]
amdgpu_device_init.cold.60+0xbe/0x16b1 [amdgpu]
? pci_bus_read_config_word+0x43/0x70
amdgpu_driver_load_kms+0x15/0x120 [amdgpu]
amdgpu_pci_probe+0x1a1/0x3a0 [amdgpu]
Fixes: d0fb18b535 ("drm/amdgpu: Move reset sem into reset_domain")
Signed-off-by: Philip Yang <Philip.Yang@amd.com>
Reviewed-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2022-03-15 14:40:49 -04:00
..
2022-02-08 12:15:04 +01:00
2022-02-18 19:36:36 +01:00
2022-02-23 09:39:37 +09:00
2022-02-25 12:30:01 -08:00
2022-02-17 07:54:03 -07:00
2022-02-06 13:19:46 +01:00
2022-02-14 10:52:27 +10:00
2022-02-17 17:05:07 -08:00
2022-02-07 17:42:44 +01:00
2022-01-26 18:57:09 -08:00
2022-01-26 19:40:33 +01:00
2022-02-09 13:18:49 +05:30
2022-01-31 11:22:53 +11:00
2022-02-15 11:04:16 +05:30
2022-02-25 05:50:18 +10:00
2022-02-15 15:54:46 +01:00
2022-02-01 19:02:41 +10:00
2022-02-27 12:30:54 -08:00
2022-03-15 14:40:49 -04:00
2022-02-14 16:28:51 +01:00
2022-02-09 14:33:21 +00:00
2022-02-22 08:15:39 -08:00
2022-02-18 10:37:33 +01:00
2022-02-21 17:58:09 +01:00
2022-02-25 16:46:51 -04:00
2022-02-20 11:15:46 -08:00
2022-02-04 12:57:26 +01:00
2022-02-02 10:49:29 +00:00
2022-02-17 07:54:03 -07:00
2022-02-07 16:35:35 -08:00
2022-02-14 10:52:27 +10:00
2022-02-08 16:04:49 +01:00
2022-02-25 12:12:06 -08:00
2022-02-24 10:05:08 -08:00
2022-02-23 14:43:11 +01:00
2022-02-21 17:59:25 +01:00
2022-02-17 17:13:52 -06:00
2022-01-28 10:15:34 +01:00
2022-02-27 13:07:40 -08:00
2022-02-02 10:33:04 +05:30
2022-02-19 02:03:58 +01:00
2022-02-28 14:57:14 +10:00
2022-02-11 21:19:51 +01:00
2022-02-22 11:56:29 +00:00
2022-01-27 11:23:26 +02:00
2022-02-09 22:55:01 +01:00
2022-02-14 22:10:29 -05:00
2022-02-18 09:20:52 -08:00
2022-02-25 12:37:41 -08:00
2022-02-28 14:57:14 +10:00
2022-02-08 09:48:44 +01:00
2022-02-24 20:14:19 +01:00
2022-02-25 11:45:29 -08:00
2022-02-24 14:51:45 +01:00
2022-02-23 12:32:33 +00:00
2022-03-04 13:41:57 +10:00
2022-02-10 11:10:23 +01:00