x86: teardown_msi_irq is not needed.

teardown_msi_irq logic is covered in destroy_irq,
so remove it to avoid freeing msi resource twice.

Signed-off-by: Xiantao Zhang<xiantao.zhang@intel.com>
This commit is contained in:
Keir Fraser committed 2009-08-20 08:26:51 +01:00
1 parent e0c21e9a94
commit bb4b42c9cf
2 files changed
-41

No files matched your search

-3
View File
@@ -1383,9 +1383,6 @@ int unmap_domain_pirq(struct domain *d, int pirq)
BUG_ON(irq != domain_pirq_to_irq(d, pirq));
if ( msi_desc )
teardown_msi_irq(irq);
if ( !forced_unbind )
{
d->arch.pirq_irq[pirq] = 0;
-38
View File
@@ -215,22 +215,6 @@ static int set_irq_msi(struct msi_desc *entry)
return 0;
}
static int unset_irq_msi(int irq)
{
ASSERT(spin_is_locked(&irq_desc[irq].lock));
if ( irq >= nr_irqs )
{
dprintk(XENLOG_ERR, "Trying to uninstall msi data for irq %d\n",
irq);
return -EINVAL;
}
irq_desc[irq].msi_desc = NULL;
return 0;
}
static void write_msi_msg(struct msi_desc *entry, struct msi_msg *msg)
{
if ( iommu_enabled )
@@ -457,11 +441,6 @@ int setup_msi_irq(struct pci_dev *dev, struct msi_desc *msidesc, int irq)
return 0;
}
void teardown_msi_irq(int irq)
{
unset_irq_msi(irq);
}
int msi_free_irq(struct msi_desc *entry)
{
if ( entry->msi_attrib.type == PCI_CAP_ID_MSIX )
@@ -780,27 +759,10 @@ void pci_disable_msi(struct msi_desc *msi_desc)
static void msi_free_irqs(struct pci_dev* dev)
{
struct msi_desc *entry, *tmp;
struct irq_desc *desc;
unsigned long flags, irq;
list_for_each_entry_safe( entry, tmp, &dev->msi_list, list )
{
irq = entry->irq;
desc = &irq_desc[irq];
pci_disable_msi(entry);
spin_lock_irqsave(&desc->lock, flags);
teardown_msi_irq(irq);
if ( desc->handler == &pci_msi_type )
{
/* MSI is not shared, so should be released already */
BUG_ON(desc->status & IRQ_GUEST);
desc->handler = &no_irq_type;
}
spin_unlock_irqrestore(&desc->lock, flags);
msi_free_irq(entry);
}
}
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.