Fix the error handling of msi setup, the return value of failure
is -1, not 0.
Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
#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);
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;
}
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);