Messages in this thread Patch in this message |  | | | Date | Sun, 8 Oct 2006 11:24:28 +0300 (EEST) | | From | Pekka J Enberg <> | | Subject | [PATCH] um: setup irq regs in do_IRQ |
From: Pekka Enberg <penberg@cs.helsinki.fi>
We need to setup and restore IRQ registers in __do_IRQ so that get_irq_regs works correctly. Fixes Alt-Sysrq-p for UML.
Cc: Jeff Dike <jdike@addtoit.com> Cc: Paolo "Blaisorblade" Giarrusso <blaisorblade@yahoo.it> Signed-Off-By: David Howells <dhowells@redhat.com> Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi> --- arch/um/kernel/irq.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) Index: 2.6/arch/um/kernel/irq.c =================================================================== --- 2.6.orig/arch/um/kernel/irq.c +++ 2.6/arch/um/kernel/irq.c @@ -355,10 +355,14 @@ void forward_interrupts(int pid) */ unsigned int do_IRQ(int irq, union uml_pt_regs *regs) { - irq_enter(); - __do_IRQ(irq); - irq_exit(); - return 1; + struct pt_regs *old_regs; + + old_regs = set_irq_regs((struct pt_regs *) regs); + irq_enter(); + __do_IRQ(irq); + irq_exit(); + set_irq_regs(old_regs); + return 1; } int um_request_irq(unsigned int irq, int fd, int type, - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |