Re: [PATCH 1/2] net: ll_temac: fix interrupt bug when interrupt 0 is used
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2010-06-06 21:57:35
Also in:
netdev
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2010-06-06 21:57:35
Also in:
netdev
On Wed, 2010-05-26 at 11:29 -0600, John Linn wrote:
The code is not checking the interrupt for DMA correctly so that an interrupt number of 0 will cause a false error. Signed-off-by: Brian Hill <redacted> Signed-off-by: John Linn <redacted> --- drivers/net/ll_temac_main.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)diff --git a/drivers/net/ll_temac_main.c b/drivers/net/ll_temac_main.c index fa7620e..0615737 100644 --- a/drivers/net/ll_temac_main.c +++ b/drivers/net/ll_temac_main.c@@ -950,7 +950,7 @@ temac_of_probe(struct of_device *op, const struct of_device_id *match) lp->rx_irq = irq_of_parse_and_map(np, 0); lp->tx_irq = irq_of_parse_and_map(np, 1); - if (!lp->rx_irq || !lp->tx_irq) { + if ((lp->rx_irq == NO_IRQ) || (lp->tx_irq == NO_IRQ)) { dev_err(&op->dev, "could not determine irqs\n"); rc = -ENOMEM; goto nodev;
Hasn't NO_IRQ been deprecated ? Linus made it clear a while back that interrupt 0 was not valid and that's the way it should be. We now have an interrupt remapping scheme on powerpc, so we ensure that 0 always mean no interrupt. Other archs might need some fixups. Which are specifically needs this patch ? Cheers, Ben.