diff options
author | Dan Carpenter <error27@gmail.com> | 2011-03-17 14:43:07 +0300 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2011-03-17 15:52:30 +0100 |
commit | 1c389795c15d349c2c7b23baf927e16e86ca3ae8 (patch) | |
tree | cc06eb6e38ad3cd291e9420ec5203a89c77bf3cc /kernel | |
parent | 15825a5cd4adb199fd76737e8bc846154e315218 (diff) | |
download | linux-stable-1c389795c15d349c2c7b23baf927e16e86ca3ae8.tar.gz linux-stable-1c389795c15d349c2c7b23baf927e16e86ca3ae8.tar.bz2 linux-stable-1c389795c15d349c2c7b23baf927e16e86ca3ae8.zip |
genirq: Fix incorrect unlock in __setup_irq()
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"
[ tglx: Moved unlock before free_cpumask_var() ]
Signed-off-by: Dan Carpenter <error27@gmail.com>
LKML-Reference: <20110317114307.GJ2008@bicker>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/irq/manage.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index acd599a43bfb..0a2aa73e536c 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -1064,10 +1064,10 @@ mismatch: ret = -EBUSY; out_mask: + raw_spin_unlock_irqrestore(&desc->lock, flags); free_cpumask_var(mask); out_thread: - raw_spin_unlock_irqrestore(&desc->lock, flags); if (new->thread) { struct task_struct *t = new->thread; |