Both MSI and MSI-X irq will be associate to msi_desc, Use irq_get_msi_desc() to get the msi_desc for MSI-X to simplify code. Also use __write_msi_msg() instead of write_msi_msg() to avoid the redundant calls. Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> --- drivers/pci/msi.c | 13 ++----------- 1 files changed, 2 insertions(+), 11 deletions(-) diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c index 5a40516..9ad920a 100644 --- a/drivers/pci/msi.c +++ b/drivers/pci/msi.c @@ -119,18 +119,9 @@ static void default_restore_msi_irq(struct pci_dev *dev, int irq) { struct msi_desc *entry; - entry = NULL; - if (dev->msix_enabled) { - list_for_each_entry(entry, &dev->msi_list, list) { - if (irq == entry->irq) - break; - } - } else if (dev->msi_enabled) { - entry = irq_get_msi_desc(irq); - } - + entry = irq_get_msi_desc(irq); if (entry) - write_msi_msg(irq, &entry->msg); + __write_msi_msg(entry, &entry->msg); } void __weak arch_restore_msi_irqs(struct pci_dev *dev) -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html