[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <AANLkTilqN1coce-O9FKF7_xo_k_xsVN6zT1GyXF7I30m@mail.gmail.com>
Date: Sun, 6 Jun 2010 18:47:59 -0600
From: Grant Likely <grant.likely@...retlab.ca>
To: Benjamin Herrenschmidt <benh@...nel.crashing.org>
Cc: John Linn <john.linn@...inx.com>, netdev@...r.kernel.org,
linuxppc-dev@...abs.org, jwboyer@...ux.vnet.ibm.com,
michal.simek@...alogix.com, john.williams@...alogix.com,
Brian Hill <brian.hill@...inx.com>
Subject: Re: [PATCH 1/2] net: ll_temac: fix interrupt bug when interrupt 0 is
used
On Sun, Jun 6, 2010 at 3:57 PM, Benjamin Herrenschmidt
<benh@...nel.crashing.org> wrote:
> 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 <brian.hill@...inx.com>
>> Signed-off-by: John Linn <john.linn@...inx.com>
>> ---
>> 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 ?
ARM still uses it, plus less than a handful of other arches. There is
no reason for Microblaze to use NO_IRQ as -1.
In fact, on ARM, as part of the device tree work I'm hoping to piggy
back in irq remapping and make 0 no longer a valid irq.
> 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 ?
Microblaze.
BTW jlinn, for xilinx ARM support we should make sure 0 is never used
as a valid IRQ from day one. It will result it far less pain in the
future.
g.
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists