diff --git a/drivers/base/platform-msi.c b/drivers/base/platform-msi.c index 6d54905c6263946da7b9ebe002214e3caf9f8a57..60d6cc618f1c4c2d90dad17765494e9e26cbf869 100644 --- a/drivers/base/platform-msi.c +++ b/drivers/base/platform-msi.c @@ -366,16 +366,14 @@ void platform_msi_domain_free(struct irq_domain *domain, unsigned int virq, unsigned int nvec) { struct platform_msi_priv_data *data = domain->host_data; - struct msi_desc *desc, *tmp; - for_each_msi_entry_safe(desc, tmp, data->dev) { + struct msi_desc *desc; + for_each_msi_entry(desc, data->dev) { if (WARN_ON(!desc->irq || desc->nvec_used != 1)) return; if (!(desc->irq >= virq && desc->irq < (virq + nvec))) continue; irq_domain_free_irqs_common(domain, desc->irq, 1); - list_del(&desc->list); - free_msi_entry(desc); } } diff --git a/include/linux/msi.h b/include/linux/msi.h index be8ec813dbfb2dda2bfc802db39b77ee2d145b2f..5839d8062dfcd5a32de256d3bdd58c787b13708f 100644 --- a/include/linux/msi.h +++ b/include/linux/msi.h @@ -116,8 +116,6 @@ struct msi_desc { list_first_entry(dev_to_msi_list((dev)), struct msi_desc, list) #define for_each_msi_entry(desc, dev) \ list_for_each_entry((desc), dev_to_msi_list((dev)), list) -#define for_each_msi_entry_safe(desc, tmp, dev) \ - list_for_each_entry_safe((desc), (tmp), dev_to_msi_list((dev)), list) #ifdef CONFIG_PCI_MSI #define first_pci_msi_entry(pdev) first_msi_entry(&(pdev)->dev)