diff options
author | Tony Luck <tony.luck@intel.com> | 2006-10-06 13:09:41 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2006-10-06 13:09:41 -0400 |
commit | 8c1addbc752660e95bbf2128d66b8e5bb38d5fc7 (patch) | |
tree | 2a04171d9392abd8935224616cff8109e3e8ea48 /arch/ia64/kernel | |
parent | 49f19ce401edfff937c448dd74c22497da361889 (diff) |
[IA64] Fix breakage from irq change
A few missed spots in ia64-land from this gigantic commit:
7d12e780e003f93433d49ce78cfedf4b4c52adc5
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/kernel')
-rw-r--r-- | arch/ia64/kernel/irq.c | 5 | ||||
-rw-r--r-- | arch/ia64/kernel/irq_ia64.c | 7 |
2 files changed, 9 insertions, 3 deletions
diff --git a/arch/ia64/kernel/irq.c b/arch/ia64/kernel/irq.c index 7852382de2fa..f07c0864b0b4 100644 --- a/arch/ia64/kernel/irq.c +++ b/arch/ia64/kernel/irq.c | |||
@@ -194,8 +194,11 @@ void fixup_irqs(void) | |||
194 | */ | 194 | */ |
195 | for (irq=0; irq < NR_IRQS; irq++) { | 195 | for (irq=0; irq < NR_IRQS; irq++) { |
196 | if (vectors_in_migration[irq]) { | 196 | if (vectors_in_migration[irq]) { |
197 | struct pt_regs *old_regs = set_irq_regs(NULL); | ||
198 | |||
197 | vectors_in_migration[irq]=0; | 199 | vectors_in_migration[irq]=0; |
198 | __do_IRQ(irq, NULL); | 200 | __do_IRQ(irq); |
201 | set_irq_regs(old_regs); | ||
199 | } | 202 | } |
200 | } | 203 | } |
201 | 204 | ||
diff --git a/arch/ia64/kernel/irq_ia64.c b/arch/ia64/kernel/irq_ia64.c index 7fd3ef9e064d..68339dd0c9e2 100644 --- a/arch/ia64/kernel/irq_ia64.c +++ b/arch/ia64/kernel/irq_ia64.c | |||
@@ -226,6 +226,8 @@ void ia64_process_pending_intr(void) | |||
226 | */ | 226 | */ |
227 | while (vector != IA64_SPURIOUS_INT_VECTOR) { | 227 | while (vector != IA64_SPURIOUS_INT_VECTOR) { |
228 | if (!IS_RESCHEDULE(vector)) { | 228 | if (!IS_RESCHEDULE(vector)) { |
229 | struct pt_regs *old_regs = set_irq_regs(NULL); | ||
230 | |||
229 | ia64_setreg(_IA64_REG_CR_TPR, vector); | 231 | ia64_setreg(_IA64_REG_CR_TPR, vector); |
230 | ia64_srlz_d(); | 232 | ia64_srlz_d(); |
231 | 233 | ||
@@ -236,7 +238,8 @@ void ia64_process_pending_intr(void) | |||
236 | * Probably could shared code. | 238 | * Probably could shared code. |
237 | */ | 239 | */ |
238 | vectors_in_migration[local_vector_to_irq(vector)]=0; | 240 | vectors_in_migration[local_vector_to_irq(vector)]=0; |
239 | __do_IRQ(local_vector_to_irq(vector), NULL); | 241 | __do_IRQ(local_vector_to_irq(vector)); |
242 | set_irq_regs(old_regs); | ||
240 | 243 | ||
241 | /* | 244 | /* |
242 | * Disable interrupts and send EOI | 245 | * Disable interrupts and send EOI |
@@ -253,7 +256,7 @@ void ia64_process_pending_intr(void) | |||
253 | 256 | ||
254 | 257 | ||
255 | #ifdef CONFIG_SMP | 258 | #ifdef CONFIG_SMP |
256 | extern irqreturn_t handle_IPI (int irq, void *dev_id, struct pt_regs *regs); | 259 | extern irqreturn_t handle_IPI (int irq, void *dev_id); |
257 | 260 | ||
258 | static struct irqaction ipi_irqaction = { | 261 | static struct irqaction ipi_irqaction = { |
259 | .handler = handle_IPI, | 262 | .handler = handle_IPI, |