diff options
author | Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> | 2007-07-26 02:31:34 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2007-07-26 17:27:42 -0400 |
commit | 3c3738c874a2d42e84a2b02768f9807c334f3eff (patch) | |
tree | 949040a03e9756b16294d5192996e6bfba1bab74 /arch/ia64/kernel/acpi.c | |
parent | 6bde71ec1ea1f37254892ef2058176f3171a0d62 (diff) |
[IA64] Fix wrong assumption in acpi_gsi_to_irq
The ia64's acpi_gsi_to_irq() function assumes irq == vector. But in
fact irq can be different from vector. This patch fix this wrong
assumption.
Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/kernel/acpi.c')
-rw-r--r-- | arch/ia64/kernel/acpi.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c index c6ede8780ded..3d45d24a9d61 100644 --- a/arch/ia64/kernel/acpi.c +++ b/arch/ia64/kernel/acpi.c | |||
@@ -741,16 +741,15 @@ int __init acpi_boot_init(void) | |||
741 | 741 | ||
742 | int acpi_gsi_to_irq(u32 gsi, unsigned int *irq) | 742 | int acpi_gsi_to_irq(u32 gsi, unsigned int *irq) |
743 | { | 743 | { |
744 | int vector; | 744 | int tmp; |
745 | 745 | ||
746 | if (has_8259 && gsi < 16) | 746 | if (has_8259 && gsi < 16) |
747 | *irq = isa_irq_to_vector(gsi); | 747 | *irq = isa_irq_to_vector(gsi); |
748 | else { | 748 | else { |
749 | vector = gsi_to_vector(gsi); | 749 | tmp = gsi_to_irq(gsi); |
750 | if (vector == -1) | 750 | if (tmp == -1) |
751 | return -1; | 751 | return -1; |
752 | 752 | *irq = tmp; | |
753 | *irq = vector; | ||
754 | } | 753 | } |
755 | return 0; | 754 | return 0; |
756 | } | 755 | } |