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) | |||
128 | { | 128 | { |
129 | struct msi_desc *entry; | 129 | struct msi_desc *entry; |
130 | struct fsl_msi *msi_data; | 130 | struct fsl_msi *msi_data; |
131 | irq_hw_number_t hwirq; | ||
131 | 132 | ||
132 | for_each_pci_msi_entry(entry, pdev) { | 133 | for_each_pci_msi_entry(entry, pdev) { |
133 | if (entry->irq == NO_IRQ) | 134 | if (entry->irq == NO_IRQ) |
134 | continue; | 135 | continue; |
136 | hwirq = virq_to_hw(entry->irq); | ||
135 | msi_data = irq_get_chip_data(entry->irq); | 137 | msi_data = irq_get_chip_data(entry->irq); |
136 | irq_set_msi_desc(entry->irq, NULL); | 138 | irq_set_msi_desc(entry->irq, NULL); |
137 | msi_bitmap_free_hwirqs(&msi_data->bitmap, | ||
138 | virq_to_hw(entry->irq), 1); | ||
139 | irq_dispose_mapping(entry->irq); | 139 | irq_dispose_mapping(entry->irq); |
140 | msi_bitmap_free_hwirqs(&msi_data->bitmap, hwirq, 1); | ||
140 | } | 141 | } |
141 | 142 | ||
142 | return; | 143 | return; |