On 01/26/2016 10:21 AM, Michael S. Tsirkin wrote:
On Tue, Jan 26, 2016 at 05:15:53PM +0100, Paolo Bonzini wrote:
This is not necessary and actually causes a hang; it was probably copied
and pasted from KVM code, that is one of the very few places that run
outside iothread lock.

Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
Makes sense. I wonder how hard would it be to have a test to catch this.

The IPMI side would be easy for me, but I don't know how to handle catching the NMI.

-corey

---
  hw/ipmi/ipmi.c | 2 --
  1 file changed, 2 deletions(-)

diff --git a/hw/ipmi/ipmi.c b/hw/ipmi/ipmi.c
index 52aba1e..fcba0ca 100644
--- a/hw/ipmi/ipmi.c
+++ b/hw/ipmi/ipmi.c
@@ -50,9 +50,7 @@ static int ipmi_do_hw_op(IPMIInterface *s, enum ipmi_op op, 
int checkonly)
          if (checkonly) {
              return 0;
          }
-        qemu_mutex_lock_iothread();
          qmp_inject_nmi(NULL);
-        qemu_mutex_unlock_iothread();
          return 0;
case IPMI_POWERCYCLE_CHASSIS:
--
2.5.0


Reply via email to