[Qemu-devel] [PATCH 6/7] ipmi: disable IRQ and ATN on an external disconnect

2018-02-01 Thread minyard
From: Corey Minyard 

Otherwise there's no way to clear them without an external command,
and it could lock the OS in the VM if they were stuck.

Signed-off-by: Corey Minyard 
---
 hw/ipmi/ipmi_bmc_extern.c | 5 +
 1 file changed, 5 insertions(+)

diff --git a/hw/ipmi/ipmi_bmc_extern.c b/hw/ipmi/ipmi_bmc_extern.c
index 8c0535d..bf0b7ee 100644
--- a/hw/ipmi/ipmi_bmc_extern.c
+++ b/hw/ipmi/ipmi_bmc_extern.c
@@ -425,6 +425,11 @@ static void chr_event(void *opaque, int event)
 return;
 }
 ibe->connected = false;
+/*
+ * Don't hang the OS trying to handle the ATN bit, other end will
+ * resend on a reconnect.
+ */
+k->set_atn(s, 0, 0);
 if (ibe->waiting_rsp) {
 ibe->waiting_rsp = false;
 ibe->inbuf[1] = ibe->outbuf[1] | 0x04;
-- 
2.7.4




[Qemu-devel] [PATCH 6/7] ipmi: disable IRQ and ATN on an external disconnect

2018-01-15 Thread minyard
From: Corey Minyard 

Otherwise there's no way to clear them without an external command,
and it could lock the OS in the VM if they were stuck.

Signed-off-by: Corey Minyard 
---
 hw/ipmi/ipmi_bmc_extern.c | 5 +
 1 file changed, 5 insertions(+)

diff --git a/hw/ipmi/ipmi_bmc_extern.c b/hw/ipmi/ipmi_bmc_extern.c
index abab3bb..58ade79 100644
--- a/hw/ipmi/ipmi_bmc_extern.c
+++ b/hw/ipmi/ipmi_bmc_extern.c
@@ -424,6 +424,11 @@ static void chr_event(void *opaque, int event)
 return;
 }
 ibe->connected = false;
+/*
+ * Don't hang the OS trying to handle the ATN bit, other end will
+ * resend on a reconnect.
+ */
+k->set_atn(s, 0, 0);
 if (ibe->waiting_rsp) {
 ibe->waiting_rsp = false;
 ibe->inbuf[1] = ibe->outbuf[1] | 0x04;
-- 
2.7.4