]> xenbits.xensource.com Git - xenclient/kernel.git/commitdiff
linux: print at least a message if MSI-X restore failed
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 4 Sep 2008 10:30:39 +0000 (11:30 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Thu, 4 Sep 2008 10:30:39 +0000 (11:30 +0100)
I'm not sure how to properly recover from that condition, but at least
don't let it happen silently.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
drivers/pci/msi-xen.c

index b84353115f74a701bc2db217e1d0a46258285cbf..22e7669cbf75b76090a71007aba7dfd530fb1d7a 100644 (file)
@@ -372,9 +372,15 @@ void pci_restore_msix_state(struct pci_dev *dev)
 
        spin_lock_irqsave(&msi_dev_entry->pirq_list_lock, flags);
        list_for_each_entry_safe(pirq_entry, tmp,
-                                &msi_dev_entry->pirq_list_head, list)
-               msi_map_pirq_to_vector(dev, pirq_entry->pirq,
-                                      pirq_entry->entry_nr, table_base);
+                                &msi_dev_entry->pirq_list_head, list) {
+               int rc = msi_map_pirq_to_vector(dev, pirq_entry->pirq,
+                                               pirq_entry->entry_nr, table_base);
+               if (rc < 0)
+                       printk(KERN_WARNING
+                              "%s: re-mapping irq #%d (pirq%d) failed: %d\n",
+                              pci_name(dev), pirq_entry->entry_nr,
+                              pirq_entry->pirq, rc);
+       }
        spin_unlock_irqrestore(&msi_dev_entry->pirq_list_lock, flags);
 
        enable_msi_mode(dev, pos, PCI_CAP_ID_MSIX);