From: Corey Minyard Date: Tue, 19 Sep 2017 20:19:26 +0000 (-0500) Subject: ipmi: disable IRQ and ATN on an external disconnect X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=53d34b8c1ba74f14053deeb2cce7d2501695e83d;p=qemu.git ipmi: disable IRQ and ATN on an external disconnect 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 --- diff --git a/hw/ipmi/ipmi_bmc_extern.c b/hw/ipmi/ipmi_bmc_extern.c index 8c0535d3dd..bf0b7ee0f5 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;