Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=224685c0d1ca5970364c9f5d4f21ea1aa64c381e
Commit:     224685c0d1ca5970364c9f5d4f21ea1aa64c381e
Parent:     216fcd29af47ab53ffd87e82139fcc4095e34d91
Author:     Kenji Kaneshige <[EMAIL PROTECTED]>
AuthorDate: Wed Aug 1 21:18:44 2007 +0900
Committer:  Tony Luck <[EMAIL PROTECTED]>
CommitDate: Wed Aug 1 11:57:59 2007 -0700

    [IA64] Fix wrong access to irq_desc[] in iosapic_register_intr().
    
    In error path we must unlock irq_desc[irq].lock before we change
    'irq'.
    
    Signed-off-by: Kenji Kaneshige <[EMAIL PROTECTED]>
    Signed-off-by: Tony Luck <[EMAIL PROTECTED]>
---
 arch/ia64/kernel/iosapic.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/ia64/kernel/iosapic.c b/arch/ia64/kernel/iosapic.c
index 5f6d98e..cfe4654 100644
--- 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);
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to