mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
xen/arm: irq: add missing spin_unlock() in init_local_irq_data() error path
If init_one_irq_desc() fails, init_local_irq_data() returns without
releasing local_irqs_type_lock, leading to a possible deadlock.
Release the lock before returning to ensure proper cleanup.
Fixes: 2bb32b8092 ("xen/irq: Propagate the error from init_one_desc_irq() in init_*_irq_data()")
Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
Reviewed-by: Denis Mukhin <dmukhin@ford.com>
Acked-by: Julien Grall <jgrall@amazon.com>
This commit is contained in:
1 parent
911b305e7b
commit
4c3aa6e93d
1 file changed
+3
@@ -94,7 +94,10 @@ static int init_local_irq_data(unsigned int cpu)
|
||||
int rc = init_one_irq_desc(desc);
|
||||
|
||||
if ( rc )
|
||||
{
|
||||
spin_unlock(&local_irqs_type_lock);
|
||||
return rc;
|
||||
}
|
||||
|
||||
desc->irq = irq;
|
||||
desc->action = NULL;
|
||||
|
||||