Messages in this thread Patch in this message | | | From | Lyude Paul <> | Subject | [PATCH 1/9] drm/nouveau/kms: Handle -EINPROGRESS in nouveau_connector_hotplug() | Date | Wed, 29 Jul 2020 17:36:55 -0400 |
| |
Looks like that we forgot to handle -EINPROGRESS being returned by pm_runtime_get(), which can happen if multiple callers try to asynchronously resume the GPU before it wakes up. This is perfectly normal and OK, so fix this by treating -EINPROGRESS as success.
Signed-off-by: Lyude Paul <lyude@redhat.com> Fixes: 3e1a12754d4d ("drm/nouveau: Fix deadlocks in nouveau_connector_detect()") Cc: stable@vger.kernel.org Cc: Ben Skeggs <bskeggs@redhat.com> Cc: dri-devel@lists.freedesktop.org Cc: nouveau@lists.freedesktop.org Cc: <stable@vger.kernel.org> # v4.19+ --- drivers/gpu/drm/nouveau/nouveau_connector.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c index 7674025a4bfe8..38e226b8cfd05 100644 --- a/drivers/gpu/drm/nouveau/nouveau_connector.c +++ b/drivers/gpu/drm/nouveau/nouveau_connector.c @@ -1173,7 +1173,7 @@ nouveau_connector_hotplug(struct nvif_notify *notify) } ret = pm_runtime_get(drm->dev->dev); - if (ret == 0) { + if (ret == 0 || ret == -EINPROGRESS) { /* We can't block here if there's a pending PM request * running, as we'll deadlock nouveau_display_fini() when it * calls nvif_put() on our nvif_notify struct. So, simply -- 2.26.2
| |