powerpc/xics: Fix numberspace mismatch from irq_desc conversion
authorMilton Miller <miltonm@bga.com>
Mon, 21 Mar 2011 11:38:02 +0000 (11:38 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 29 Mar 2011 23:44:13 +0000 (10:44 +1100)
commit4f1fc48a73a49a60b3e03e6d8fb363d1b328bd4e
tree63dc74c40f516c5f993fe5ff1da8a62f7c54e545
parent834796a8493809ae6667b65c4c044066f41d32c7
powerpc/xics: Fix numberspace mismatch from irq_desc conversion

commit 79f26c268ebad29bd75d078cfc09d3d82b30ccbd (powerpc:
platforms/pseries irq_data conversion) pushed irq_desc down into many
functions, dererencing the descriptor irq field as late as possible.

But it incorrectly passed a linix virtural irq number to RTAS,
resulting in the interrupt not being disabled and possibly
other bad things, such as another interrupt being disabled and/or
a checkstop.

In addition this missed the point of xics_mask_unknown_vec and
the seperation of xics_mask_real_irq from xics_mask_irq.  When
xics_mask_unknown_vec is called it's because the hardware delivered an
irq source for which we have no linux irq allocated, and thefore we can
not have an irq_desc allocated.

Revert xics_mask_real_irq to its prior version, naming the argument
hwirq to highlight the difference.

Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/platforms/pseries/xics.c