From: Qing He Date: Fri, 28 Aug 2009 08:28:48 +0000 (+0800) Subject: xen: fix the error handling of msi setup X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=9a23cb41cdc0fb7b496a65fdcb1cff739d8dbaf9;p=people%2Fssmith%2Fnetchannel2-pvops.git xen: fix the error handling of msi setup Fix the error handling of msi setup, the return value of failure is -1, not 0. Signed-off-by: Qing He Signed-off-by: Jeremy Fitzhardinge --- diff --git a/arch/x86/xen/pci.c b/arch/x86/xen/pci.c index 60bab673392..44d91add61d 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 007b1d7fcf4..a3d430bdcc1 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);