• Kenji Kaneshige's avatar
    [PATCH] ia64: set_rte() should get iosapic_lock · 4006f663
    Kenji Kaneshige authored
    Currently set_rte() changes RTE without iosapic_lock held. I guess it
    assumes to be called only at the boot time. But set_rte() can be
    called by PCI driver not only at the boot time. So I think set_rte()
    should get iosapic_lock.
    
    pci_enable_device(drivers/pci/pci.c)
    |
    +-> pci_enable_device_bars(drivers/pci/pci.c)
        |
        +-> pcibios_enable_device(arch/ia64/pci/pci.c)
            |
            +-> acpi_pci_irq_enable (drivers/acpi/pci_irq.c)
                |
                +-> iosapic_enable_intr (arch/ia64/kernel/iosapic.c)
                    |
                    +-> set_rte (arch_ia64/kernel/iosapic.c)
    
    A following patch fixes this issue.
    4006f663
iosapic.c 20.6 KB