$NetBSD: patch-CVE-2012-3432,v 1.1.2.2 2012/07/31 18:29:37 tron Exp $

see http://lists.xen.org/archives/html/xen-devel/2012-07/msg01649.html

--- xen/arch/x86/hvm/io.c.orig	2012-07-27 18:34:15.000000000 +0000
+++ xen/arch/x86/hvm/io.c
@@ -176,6 +176,8 @@ int handle_mmio(void)
 
     rc = hvm_emulate_one(&ctxt);
 
+    if ( rc != X86EMUL_RETRY )
+        curr->arch.hvm_vcpu.io_state = HVMIO_none;
     if ( curr->arch.hvm_vcpu.io_state == HVMIO_awaiting_completion )
         curr->arch.hvm_vcpu.io_state = HVMIO_handle_mmio_awaiting_completion;
     else
