From: Qing He Subject: [PATCH 1/2] xen: fix the error handling of msi setup Date: Fri, 28 Aug 2009 16:28:48 +0800 Message-ID: <20090828082848.GA9849@ub-qhe2> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com Cc: jeremy@goop.org, yunhong.jiang@intel.com List-Id: xen-devel@lists.xenproject.org Fix the error handling of msi setup, the return value of failure is -1, not 0. Signed-off-by: Qing He --- arch/x86/xen/pci.c | 5 ++--- drivers/xen/events.c | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/arch/x86/xen/pci.c b/arch/x86/xen/pci.c index 60bab67..44d91ad 100644 --- a/arch/x86/xen/pci.c +++ b/arch/x86/xen/pci.c @@ -90,13 +90,12 @@ void __init xen_setup_pirqs(void) #ifdef CONFIG_PCI_MSI int xen_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) { - unsigned int irq; - int ret; + int irq, ret; struct msi_desc *msidesc; list_for_each_entry(msidesc, &dev->msi_list, list) { irq = xen_create_msi_irq(dev, msidesc, type); - if (irq == 0) + if (irq < 0) return -1; ret = set_irq_msi(irq, msidesc); diff --git a/drivers/xen/events.c b/drivers/xen/events.c index 007b1d7..a3d430b 100644 --- a/drivers/xen/events.c +++ b/drivers/xen/events.c @@ -591,7 +591,7 @@ int xen_destroy_irq(int irq) unmap_irq.domid = DOMID_SELF; rc = HYPERVISOR_physdev_op(PHYSDEVOP_unmap_pirq, &unmap_irq); if (rc) { - printk(KERN_WARNING "unmap irq failed %x\n", rc); + printk(KERN_WARNING "unmap irq failed %d\n", rc); goto out; } @@ -643,7 +643,7 @@ int xen_create_msi_irq(struct pci_dev *dev, struct msi_desc *msidesc, int type) rc = HYPERVISOR_physdev_op(PHYSDEVOP_map_pirq, &map_irq); if (rc) { - printk(KERN_WARNING "xen map irq failed %x\n", rc); + printk(KERN_WARNING "xen map irq failed %d\n", rc); dynamic_irq_cleanup(irq);