[SPARC64]: Need to set state to IDLE during sun4v IRQ enable.
authorDavid S. Miller <davem@davemloft.net>
Tue, 26 Jun 2007 07:13:31 +0000 (00:13 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 26 Jun 2007 07:13:31 +0000 (00:13 -0700)
This fixes hypervisor console interrupts on LDOM guests.

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc64/kernel/irq.c

index a862d13fc85748303b84497848046c1ad22a3e1e..6b6165d36fd8aae7789faef3e7cf9e64019cb464 100644 (file)
@@ -329,6 +329,10 @@ static void sun4v_irq_enable(unsigned int virt_irq)
                if (err != HV_EOK)
                        printk("sun4v_intr_settarget(%x,%lu): err(%d)\n",
                               ino, cpuid, err);
                if (err != HV_EOK)
                        printk("sun4v_intr_settarget(%x,%lu): err(%d)\n",
                               ino, cpuid, err);
+               err = sun4v_intr_setstate(ino, HV_INTR_STATE_IDLE);
+               if (err != HV_EOK)
+                       printk("sun4v_intr_setstate(%x): "
+                              "err(%d)\n", ino, err);
                err = sun4v_intr_setenabled(ino, HV_INTR_ENABLED);
                if (err != HV_EOK)
                        printk("sun4v_intr_setenabled(%x): err(%d)\n",
                err = sun4v_intr_setenabled(ino, HV_INTR_ENABLED);
                if (err != HV_EOK)
                        printk("sun4v_intr_setenabled(%x): err(%d)\n",