diff options
Diffstat (limited to 'arch/powerpc/sysdev/fsl_msi.c')
| -rw-r--r-- | arch/powerpc/sysdev/fsl_msi.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c index 5916da1856a7..48a576aa47b9 100644 --- a/arch/powerpc/sysdev/fsl_msi.c +++ b/arch/powerpc/sysdev/fsl_msi.c @@ -128,15 +128,16 @@ static void fsl_teardown_msi_irqs(struct pci_dev *pdev)  {  	struct msi_desc *entry;  	struct fsl_msi *msi_data; +	irq_hw_number_t hwirq;  	for_each_pci_msi_entry(entry, pdev) {  		if (entry->irq == NO_IRQ)  			continue; +		hwirq = virq_to_hw(entry->irq);  		msi_data = irq_get_chip_data(entry->irq);  		irq_set_msi_desc(entry->irq, NULL); -		msi_bitmap_free_hwirqs(&msi_data->bitmap, -				       virq_to_hw(entry->irq), 1);  		irq_dispose_mapping(entry->irq); +		msi_bitmap_free_hwirqs(&msi_data->bitmap, hwirq, 1);  	}  	return;  |