Commit 673aeb76 authored by Michal Ostrowski's avatar Michal Ostrowski Committed by Paul Mackerras

[POWERPC] Avoid calling get_irq_server() with a real, not virtual irq.

We can use default_server when masking an interrupt vector.
get_irq_server() assumes a virtual irq, so badness may happen if we
give it a real one.
Signed-off-by: default avatarMichal Ostrowski <mostrows@watson.ibm.com>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 5e264a52
...@@ -224,7 +224,6 @@ static void xics_unmask_irq(unsigned int virq) ...@@ -224,7 +224,6 @@ static void xics_unmask_irq(unsigned int virq)
static void xics_mask_real_irq(unsigned int irq) static void xics_mask_real_irq(unsigned int irq)
{ {
int call_status; int call_status;
unsigned int server;
if (irq == XICS_IPI) if (irq == XICS_IPI)
return; return;
...@@ -236,9 +235,9 @@ static void xics_mask_real_irq(unsigned int irq) ...@@ -236,9 +235,9 @@ static void xics_mask_real_irq(unsigned int irq)
return; return;
} }
server = get_irq_server(irq);
/* Have to set XIVE to 0xff to be able to remove a slot */ /* Have to set XIVE to 0xff to be able to remove a slot */
call_status = rtas_call(ibm_set_xive, 3, 1, NULL, irq, server, 0xff); call_status = rtas_call(ibm_set_xive, 3, 1, NULL, irq,
default_server, 0xff);
if (call_status != 0) { if (call_status != 0) {
printk(KERN_ERR "xics_disable_irq: irq=%u: ibm_set_xive(0xff)" printk(KERN_ERR "xics_disable_irq: irq=%u: ibm_set_xive(0xff)"
" returned %d\n", irq, call_status); " returned %d\n", irq, call_status);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment