]> Git Repo - qemu.git/commit - hw/display/qxl.c
qxl: keep going if reaching guest bug on empty area
authorMarc-AndrĂ© Lureau <[email protected]>
Fri, 10 Oct 2014 17:05:11 +0000 (19:05 +0200)
committerGerd Hoffmann <[email protected]>
Wed, 15 Oct 2014 09:08:34 +0000 (11:08 +0200)
commit9e5a25f1c209ff51e4b65124a3b76dd3f1b0fb49
tree7ac09b2dd38a60ca955e481dfd8e54b02e495f5f
parentb1d28ec6a7dbdaadda39d29322f0de694aeb0b74
qxl: keep going if reaching guest bug on empty area

Xorg server hangs when using xfig and typing a text with space:
 #0  qxl_wait_for_io_command (qxl=<value optimized out>) at qxl_io.c:47
 #1  0x00007f826a49a299 in qxl_download_box (surface=0x221d030, x1=231, y1=259,
     x2=<value optimized out>, y2=<value optimized out>) at qxl_surface.c:143

       while (!(ram_header->int_pending & QXL_INTERRUPT_IO_CMD))
         usleep (1);

The QXL driver is calling QXL_IO_UPDATE_AREA with an empty area. This
is a guest bug. The call is async and no ack is sent back on guest
bug, so the X server will hang. The driver should be improved to avoid
this situation and also to abort on QXL_INTERRUPT_ERROR. This will be
a different patch series for the driver. However, it is simple enough
to keep qemu running on empty areas update, which is what this patch
provides.

https://bugzilla.redhat.com/show_bug.cgi?id=1151363

Signed-off-by: Gerd Hoffmann <[email protected]>
hw/display/qxl.c
This page took 0.02639 seconds and 4 git commands to generate.