[IA64] Fix possible race in destroy_and_reserve_irq()
authorKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Mon, 30 Jul 2007 02:56:30 +0000 (11:56 +0900)
committerTony Luck <tony.luck@intel.com>
Mon, 30 Jul 2007 23:30:42 +0000 (16:30 -0700)
commit216fcd29af47ab53ffd87e82139fcc4095e34d91
tree6dc391ecc05255853d1974feee5d3a36b4ddaa5a
parentc4c376f7e16deeba8f0542eabcaca19b712e7be1
[IA64] Fix possible race in destroy_and_reserve_irq()

Currently, destroy_and_reserve_irq() sets irq_status[irq] UNUSED using
clear_irq_vector() and sets irq_status[irq] RSVD using reserve_irq().
But there is a race window because vector_lock is once released between
them. This patch fixes this race window.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/ia64/kernel/irq_ia64.c