On Mon, Jun 30, 2014 at 7:27 PM, Andreas Schwab <schwab@xxxxxxxxxxxxxx> wrote:
Nicholas Krause <xerofoify@xxxxxxxxx> writes:
Fixes q40_irq_startup to return -ENXIO for cases 11-13 in the switch
statement of this function to handle these failure cases.
Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx>
---
arch/m68k/q40/q40ints.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/m68k/q40/q40ints.c b/arch/m68k/q40/q40ints.c
index 513f9bb..9dfa1ea 100644
--- a/arch/m68k/q40/q40ints.c
+++ b/arch/m68k/q40/q40ints.c
@@ -49,7 +49,7 @@ static unsigned int q40_irq_startup(struct irq_data *data)
case 1: case 2: case 8: case 9:
case 11: case 12: case 13:
printk("%s: ISA IRQ %d not implemented by HW\n", __func__, irq);
- /* FIXME return -ENXIO; */
+ return -ENXIO;
There must be more to it, given the FIXME.
I think I really just forgot to get rid of it. It was introduced in commit
c288bf2533e57174b90b07860c4391bcd1ea269c ("m68k/irq: Rename
irq_controller to irq_chip").
I think I added the FIXME because I got puzzled by the return value change
from (signed) int to unsigned int, which doesn't match well with a negative
error number.
However:
1. While irq_chip.irq_startup() returns unsigned int, irq_startup()
does return
int (why this difference, historical reasons?), so it becomes a negative
number again later,
2. The return value of irq_startup() seems to used in
kernel/irq/autoprobe.c:probe_irq_on() only, and the actual (non-zero) value
doesn't matter, just whether it returns zero or non-zero.
So I'm gonna take this patch, unless someone screams with a very good reason.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html