Jesse Zhang
b77a725e50
drm/amdgpu/userq: serialize queue map against GPU reset
...
Creating a user queue can race with a GPU reset. While recovery holds
reset_domain->sem for write, MES is unresponsive, so the ADD_QUEUE from
amdgpu_userq_map_helper() times out (-110) and an otherwise valid queue
create fails:
amdgpu: MES(0) failed to respond to msg=ADD_QUEUE
[drm:mes_userq_map [amdgpu]] *ERROR* Failed to map queue in HW, err (-110)
amdgpu: [drm] *ERROR* ... Failed to map Queue
amdgpu: [drm] *ERROR* ... Failed to create usermode queue
Take reset_domain->sem for read around the map so it runs only once MES
is back up. This mirrors amdgpu_userq_cleanup() and honors the
userq_mutex -> reset_domain->sem order; the reset path never takes
userq_mutex, so there is no deadlock.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Jesse Zhang <Jesse.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
(cherry picked from commit a8e151fe62 )
Cc: stable@vger.kernel.org
2026-08-06 14:32:23 -04:00
..
2026-07-29 14:57:37 -06:00
2026-07-27 15:18:50 +02:00
2026-07-17 15:30:09 +02:00
2026-07-31 17:05:13 -07:00
2026-06-16 08:53:53 -07:00
2026-07-03 07:38:17 +02:00
2026-06-26 10:47:26 -07:00
2026-07-31 16:42:34 -07:00
2026-07-28 16:13:48 -04:00
2026-07-03 07:38:17 +02:00
2026-07-03 07:38:17 +02:00
2026-07-20 21:54:52 -06:00
2026-07-03 07:38:17 +02:00
2026-07-12 12:52:34 -07:00
2026-07-03 07:38:17 +02:00
2026-06-15 13:57:13 +05:30
2026-07-17 14:50:35 +02:00
2026-07-03 07:38:17 +02:00
2026-07-27 16:58:45 +02:00
2026-06-23 14:00:29 +02:00
2026-07-03 07:38:17 +02:00
2026-06-12 13:47:53 -07:00
2026-06-19 10:14:34 -07:00
2026-07-03 07:38:17 +02:00
2026-07-29 16:46:51 -07:00
2026-08-02 09:19:40 -07:00
2026-07-10 16:26:39 -07:00
2026-07-24 16:15:19 -07:00
2026-07-03 07:38:17 +02:00
2026-07-03 07:38:17 +02:00
2026-07-13 20:19:06 +09:00
2026-07-26 10:47:58 -07:00
2026-07-03 07:38:17 +02:00
2026-07-03 07:38:17 +02:00
2026-07-03 07:38:17 +02:00
2026-07-27 15:07:51 +02:00
2026-08-06 14:32:23 -04:00
2026-07-12 12:37:28 -07:00
2026-07-03 07:38:17 +02:00
2026-07-03 07:38:17 +02:00
2026-07-31 20:02:04 +00:00
2026-07-29 09:21:17 -07:00
2026-06-08 21:51:12 -05:00
2026-07-17 14:52:08 +02:00
2026-07-28 23:34:16 +02:00
2026-06-16 23:19:45 +02:00
2026-06-15 15:08:14 +05:30
2026-07-12 12:37:28 -07:00
2026-07-23 10:24:12 -07:00
2026-07-11 15:42:55 -07:00
2026-07-03 07:38:17 +02:00
2026-07-30 15:12:31 -07:00
2026-07-05 05:29:41 -10:00
2026-07-03 07:38:17 +02:00
2026-06-02 21:27:25 +02:00
2026-07-03 07:38:17 +02:00
2026-07-11 15:18:51 +02:00
2026-07-03 07:38:17 +02:00
2026-07-03 07:38:17 +02:00
2026-07-06 17:09:30 +02:00
2026-07-03 07:38:17 +02:00
2026-07-17 14:51:57 +02:00
2026-07-15 11:00:02 +02:00
2026-07-17 09:30:17 -07:00
2026-07-03 07:38:17 +02:00
2026-07-30 15:16:38 +02:00
2026-07-03 07:38:17 +02:00
2026-06-28 07:46:12 -07:00
2026-06-18 16:27:58 -07:00
2026-06-25 09:56:47 -07:00
2026-07-03 07:38:17 +02:00
2026-07-31 14:03:19 -07:00
2026-07-31 10:11:52 -07:00
2026-07-03 07:38:17 +02:00
2026-08-02 09:16:32 -07:00
2026-07-27 08:48:48 -07:00
2026-07-28 13:45:01 -07:00
2026-07-13 12:42:17 +02:00
2026-07-03 07:38:17 +02:00
2026-07-30 16:50:17 -07:00
2026-06-01 19:55:32 +02:00
2026-07-03 07:38:17 +02:00
2026-07-29 17:54:06 -07:00
2026-07-03 07:38:17 +02:00
2026-06-21 13:20:19 -07:00
2026-06-16 05:31:01 +05:30
2026-07-21 22:35:08 +01:00
2026-06-08 21:53:51 -05:00
2026-07-16 14:46:27 +01:00
2026-07-10 14:15:39 +02:00
2026-06-20 23:31:15 -07:00
2026-07-03 07:38:17 +02:00
2026-08-02 11:55:49 -07:00
2026-08-02 09:32:07 -07:00
2026-07-03 07:38:17 +02:00
2026-06-05 17:19:51 +02:00
2026-07-10 14:42:00 +02:00
2026-07-03 07:38:17 +02:00
2026-07-30 13:13:51 +01:00
2026-07-03 07:38:17 +02:00
2026-07-17 14:23:13 +02:00
2026-07-28 21:52:09 -04:00
2026-06-17 11:21:40 -07:00
2026-07-03 07:38:17 +02:00
2026-06-22 12:09:47 -07:00
2026-07-17 13:07:32 +02:00
2026-07-28 22:26:51 -04:00
2026-07-17 14:50:09 +02:00
2026-07-24 15:36:52 +02:00
2026-07-03 07:38:17 +02:00
2026-06-29 14:26:31 -06:00
2026-07-29 17:12:27 -07:00
2026-07-03 07:38:17 +02:00
2026-07-17 18:49:12 +01:00
2026-07-09 15:48:56 -07:00
2026-07-03 07:38:17 +02:00
2026-07-22 11:15:49 -07:00
2026-07-18 12:36:19 -07:00