ipmi: disable IRQ and ATN on an external disconnect
authorCorey Minyard <cminyard@mvista.com>
Tue, 19 Sep 2017 20:19:26 +0000 (15:19 -0500)
committerCorey Minyard <cminyard@mvista.com>
Tue, 30 Jan 2018 21:52:53 +0000 (15:52 -0600)
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 <cminyard@mvista.com>
hw/ipmi/ipmi_bmc_extern.c

index 8c0535d3dd7333d0f561f82d304609ded53aae31..bf0b7ee0f599cac2734c2a964478293f9f65509a 100644 (file)
@@ -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;
This page took 0.026438 seconds and 4 git commands to generate.