diff options
author | Jan Beulich <jbeulich@suse.com> | 2012-05-14 12:06:09 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2012-05-14 12:06:09 +0200 |
commit | 98e10364bde098e12104caa4f566b17d05f8b791 (patch) | |
tree | 6832ceadb99101200ca89704bd5c7717781f4a25 /xen/arch/x86/irq.c | |
parent | 5982b476f89d08fefac1dda363afda0b09a2bafc (diff) | |
download | xen-98e10364bde098e12104caa4f566b17d05f8b791.tar.gz xen-98e10364bde098e12104caa4f566b17d05f8b791.tar.bz2 xen-98e10364bde098e12104caa4f566b17d05f8b791.zip |
x86/irq: fix locking for c/s 24707:96987c324a4f debugging code
Without this, dump_irqs() may try to acquire the lock the caller is
currently holding.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
Diffstat (limited to 'xen/arch/x86/irq.c')
-rw-r--r-- | xen/arch/x86/irq.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c index 425af20387..2fc676b716 100644 --- a/xen/arch/x86/irq.c +++ b/xen/arch/x86/irq.c @@ -668,6 +668,7 @@ void irq_move_cleanup_interrupt(struct cpu_user_regs *regs) { if ( unlikely(!test_bit(vector, desc->arch.used_vectors)) ) { + spin_unlock(&desc->lock); bitmap_scnlistprintf(keyhandler_scratch, sizeof(keyhandler_scratch), desc->arch.used_vectors->_bits, |