Hi,

> In the situation of save/restore guest os, when the guest os is saving 
> memory iteratively, meanwhile the usb tablet work normally (by vnc). When qemu
> has set the UHCI_PORT_RD bit to 1, and post a interrupt to guest os, but
> guest os has hibernated this moment, so the interrupt cannot be handled
> in time. So, the UHCI_PORT_RD bit will not be cleared by 
> uhci_finish_suspend().

> When we restore the guest os, and the usb tablet event happen again, but 
> because of UHCI_PORT_RD bit being set to 1, qemu consider the guest os is
> handling the interrupt of resuming UHCI, so will not post another interrupt.

Another interrupt should not be needed.  If we don't deliver the
interrupt before suspend, we must deliver it after resume.  It must not
get lost, loosing interrupts can cause all sorts of problems.

There was a kernel bug recently causing lost interrupts on migration,
maybe this is the same (rh bug 1036478)?  Paolo?  Is the fix upstream?
Which kernel has it?

cheers,
  Gerd



Reply via email to