[PATCH] x86/apic: remove vector_lock from apic_retrigger_irq()

From: Luigi Rizzo

Date: Fri Feb 20 2026 - 10:12:32 EST


apic_retrigger_irq() grabs vector_lock, but this is not needed because
any caller of this function holds the irqdesc lock, and that suffices to
protect apicd->vector.

Remove the unnecessary lock.

Thomas found this is a leftover from v2.6 when it was truly needed.

Signed-off-by: Luigi Rizzo <lrizzo@xxxxxxxxxx>
---
arch/x86/kernel/apic/vector.c | 3 ---
1 file changed, 3 deletions(-)

diff --git a/arch/x86/kernel/apic/vector.c b/arch/x86/kernel/apic/vector.c
index bddc544653999..fd0f133b379fd 100644
--- a/arch/x86/kernel/apic/vector.c
+++ b/arch/x86/kernel/apic/vector.c
@@ -1002,11 +1002,8 @@ static void apic_force_complete_move(struct irq_data *irqd)
static int apic_retrigger_irq(struct irq_data *irqd)
{
struct apic_chip_data *apicd = apic_chip_data(irqd);
- unsigned long flags;

- raw_spin_lock_irqsave(&vector_lock, flags);
__apic_send_IPI(apicd->cpu, apicd->vector);
- raw_spin_unlock_irqrestore(&vector_lock, flags);

return 1;
}
--
2.53.0.345.g96ddfc5eaa-goog