[patch] genirq: incorrect unlock in __setup_irq()

From: Dan Carpenter
Date: Thu Mar 17 2011 - 07:43:44 EST


goto out_thread is called before we take the lock. It causes a gcc
warning: "kernel/irq/manage.c:858: warning: âflagsâ may be used
uninitialized in this function"

Signed-off-by: Dan Carpenter <error27@xxxxxxxxx>

diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index acd599a..cdcdf13 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -1065,9 +1065,9 @@ mismatch:

out_mask:
free_cpumask_var(mask);
+ raw_spin_unlock_irqrestore(&desc->lock, flags);

out_thread:
- raw_spin_unlock_irqrestore(&desc->lock, flags);
if (new->thread) {
struct task_struct *t = new->thread;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/