projects
/
GitHub
/
LineageOS
/
android_kernel_samsung_universal7580.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
216fcd2
)
[IA64] Fix wrong access to irq_desc[] in iosapic_register_intr().
author
Kenji Kaneshige
<kaneshige.kenji@jp.fujitsu.com>
Wed, 1 Aug 2007 12:18:44 +0000
(21:18 +0900)
committer
Tony Luck
<tony.luck@intel.com>
Wed, 1 Aug 2007 18:57:59 +0000
(11:57 -0700)
In error path we must unlock irq_desc[irq].lock before we change
'irq'.
Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/ia64/kernel/iosapic.c
patch
|
blob
|
blame
|
history
diff --git
a/arch/ia64/kernel/iosapic.c
b/arch/ia64/kernel/iosapic.c
index 5f6d98e866ea40a76bc8226052bec58b670c774d..cfe4654838f445423455979bca494d0e8fd1394a 100644
(file)
--- a/
arch/ia64/kernel/iosapic.c
+++ b/
arch/ia64/kernel/iosapic.c
@@
-794,8
+794,9
@@
iosapic_register_intr (unsigned int gsi,
err = register_intr(gsi, irq, IOSAPIC_LOWEST_PRIORITY,
polarity, trigger);
if (err < 0) {
+ spin_unlock(&irq_desc[irq].lock);
irq = err;
- goto unlock_
all
;
+ goto unlock_
iosapic_lock
;
}
/*
@@
-811,7
+812,7
@@
iosapic_register_intr (unsigned int gsi,
gsi, (trigger == IOSAPIC_EDGE ? "edge" : "level"),
(polarity == IOSAPIC_POL_HIGH ? "high" : "low"),
cpu_logical_id(dest), dest, irq_to_vector(irq));
- unlock_all:
+
spin_unlock(&irq_desc[irq].lock);
unlock_iosapic_lock:
spin_unlock_irqrestore(&iosapic_lock, flags);