From: Alexey Kardashevskiy <aik@ozlabs.ru>
Date: Mon, 12 Nov 2012 16:46:59 +0000 (+0000)
Subject: pseries: Fix bug in PCI MSI allocation
X-Git-Tag: v1.3.0-rc2~17^2~2
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=70c68cf638b4cf44a42a937622deac3ad3c7833c;p=users%2Fdwmw2%2Fqemu.git

pseries: Fix bug in PCI MSI allocation

In one of the recent reworks to the XICS code, a bug was introduced where
we use the wrong sense and allocate level interrupts instead of message
interrupts for PCI MSIs.  This patch fixes it.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
---

diff --git a/hw/spapr_pci.c b/hw/spapr_pci.c
index a08ed11166..3c5b855bc0 100644
--- a/hw/spapr_pci.c
+++ b/hw/spapr_pci.c
@@ -351,7 +351,7 @@ static void rtas_ibm_change_msi(sPAPREnvironment *spapr,
 
     /* There is no cached config, allocate MSIs */
     if (!phb->msi_table[ndev].nvec) {
-        irq = spapr_allocate_irq_block(req_num, true);
+        irq = spapr_allocate_irq_block(req_num, false);
         if (irq < 0) {
             fprintf(stderr, "Cannot allocate MSIs for device#%d", ndev);
             rtas_st(rets, 0, -1); /* Hardware error */