If we VT switch away between picking a cursor surface and actually doing
the pageflip in drm_output_repaint(), we never set output->cursor_view to
NULL. Then we unplug all the input devices and as the last pointer device
goes away we destroy the cursor surface. Then when we switch back, we
call drm_output_set_cursor() with an invalid surface and crashes.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=73566
return 0;
err_pageflip:
+ output->cursor_view = NULL;
if (output->next) {
drm_output_release_fb(output, output->next);
output->next = NULL;