summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2019-04-05 06:46:02 +0200
committerGerd Hoffmann <kraxel@redhat.com>2019-06-26 11:05:05 +0200
commit41de4be6f6efa4132b29af51158cd672d93f2543 (patch)
tree1cb7d306f3f7fc13b6ddf9547a692f3cdb23f6b2
parent5eab9cf87b6c261f4e2f6c7623171cc2f5ea1a9c (diff)
drm/virtio: move drm_connector_update_edid_property() calldrm-misc-fixes-2019-06-26
drm_connector_update_edid_property can sleep, we must not call it while holding a spinlock. Move the callsite. Fixes: b4b01b4995fb ("drm/virtio: add edid support") Reported-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Tested-by: Max Filippov <jcmvbkbc@gmail.com> Tested-by: Cornelia Huck <cohuck@redhat.com> Acked-by: Cornelia Huck <cohuck@redhat.com> Link: http://patchwork.freedesktop.org/patch/msgid/20190405044602.2334-1-kraxel@redhat.com
-rw-r--r--drivers/gpu/drm/virtio/virtgpu_vq.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/virtio/virtgpu_vq.c b/drivers/gpu/drm/virtio/virtgpu_vq.c
index e62fe24b1a2e..5bb0f0a084e9 100644
--- a/drivers/gpu/drm/virtio/virtgpu_vq.c
+++ b/drivers/gpu/drm/virtio/virtgpu_vq.c
@@ -619,11 +619,11 @@ static void virtio_gpu_cmd_get_edid_cb(struct virtio_gpu_device *vgdev,
output = vgdev->outputs + scanout;
new_edid = drm_do_get_edid(&output->conn, virtio_get_edid_block, resp);
+ drm_connector_update_edid_property(&output->conn, new_edid);
spin_lock(&vgdev->display_info_lock);
old_edid = output->edid;
output->edid = new_edid;
- drm_connector_update_edid_property(&output->conn, output->edid);
spin_unlock(&vgdev->display_info_lock);
kfree(old_edid);