summaryrefslogtreecommitdiff
path: root/hw/xfree86
diff options
context:
space:
mode:
authornerdopolis <bluescreen_avenger@verizon.net>2024-05-28 06:31:21 -0400
committernerdopolis <bluescreen_avenger@verizon.net>2024-06-24 09:53:11 -0400
commit05c63d2a02d55ff8b8bfb0c5b05a2f76fbeb1a62 (patch)
tree00399a8f44f5fe7769c0ca0068f6e32a22759554 /hw/xfree86
parent8e8bc0a1ef33a9e74a475a8f6e6869b53eec87a3 (diff)
modesetting: Fix hang when all probed cursor sizes fail to find a minimum one
This fixes a hang on simpledrm where min_cursor_height and min_cursor_width is never established, and drmmode_load_cursor_argb_check would infinitely when the minimum values where 0 or less.
Diffstat (limited to 'hw/xfree86')
-rw-r--r--hw/xfree86/drivers/modesetting/drmmode_display.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c b/hw/xfree86/drivers/modesetting/drmmode_display.c
index 6942126c0..505960737 100644
--- a/hw/xfree86/drivers/modesetting/drmmode_display.c
+++ b/hw/xfree86/drivers/modesetting/drmmode_display.c
@@ -4377,6 +4377,9 @@ static void drmmode_probe_cursor_size(xf86CrtcPtr crtc)
drmmode_ptr drmmode = drmmode_crtc->drmmode;
int width, height, size;
+ ms->min_cursor_width = ms->max_cursor_width;
+ ms->min_cursor_height = ms->max_cursor_height;
+
/* probe square min first */
for (size = 1; size <= ms->max_cursor_width &&
size <= ms->max_cursor_height; size *= 2) {