Skip to content

Commit 4dd2d3d

Browse files
committed
[DM/FIXUP] Fixup PCI MSI global irq map
Don't use `irq` as a var when clear MSI global irq map, the irq which alloc before will rewrite. Signed-off-by: GuEe-GUI <[email protected]>
1 parent fed7c9a commit 4dd2d3d

File tree

1 file changed

+4
-4
lines changed
  • components/drivers/pci/msi

1 file changed

+4
-4
lines changed

components/drivers/pci/msi/irq.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ rt_err_t rt_pci_msi_setup_irqs(struct rt_pci_device *pdev, int nvec, int type)
3434

3535
if (type == PCIY_MSI)
3636
{
37-
int last_irq = -1;
37+
int last_irq = -1, irq_idx;
3838
rt_size_t irq_nr;
3939

4040
desc = rt_pci_msi_first_desc(pdev);
@@ -74,12 +74,12 @@ rt_err_t rt_pci_msi_setup_irqs(struct rt_pci_device *pdev, int nvec, int type)
7474
desc->irq = irq - irq_nr;
7575
}
7676

77-
rt_bitmap_for_each_set_bit(msi_irq_map, irq, MAX_HANDLERS)
77+
rt_bitmap_for_each_set_bit(msi_irq_map, irq_idx, MAX_HANDLERS)
7878
{
79-
msi_pic->ops->irq_free_msi(msi_pic, irq);
79+
msi_pic->ops->irq_free_msi(msi_pic, irq_idx);
8080

8181
/* Free bit so the next user doesn't need to bzero */
82-
rt_bitmap_clear_bit(msi_irq_map, irq);
82+
rt_bitmap_clear_bit(msi_irq_map, irq_idx);
8383
}
8484

8585
rt_hw_spin_unlock(&msi_irq_map_lock.lock);

0 commit comments

Comments
 (0)