[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKnu2Mp0Xs3ivj0Vd1=Euj1CyKsWpBLrf_L_jYWuOnoRMpxGGQ@mail.gmail.com>
Date: Sun, 31 Jul 2011 02:19:11 +0200
From: Linus Walleij <linus.walleij@...aro.org>
To: Viresh Kumar <viresh.kumar@...com>
Cc: vinod.koul@...el.com, dan.j.williams@...el.com,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux@....linux.org.uk, armando.visconti@...com,
shiraz.hashim@...com, vipin.kumar@...com, rajeev-dlh.kumar@...com,
deepak.sikri@...com, vipulkumar.samar@...com, amit.virdi@...com,
pratyush.anand@...com, bhupesh.sharma@...com,
viresh.linux@...il.com
Subject: Re: [PATCH 09/18] dmaengine/amba-pl08x: Schedule tasklet in case of
error interrupt
2011/7/29 Viresh Kumar <viresh.kumar@...com>:
(...)
> - u32 mask = 0;
(...)
> + if (!err && !tc)
> + return IRQ_NONE;
(...)
> -
> - mask |= (1 << i);
> - /* Clear only the terminal interrupts on channels we processed */
> - writel(mask, pl08x->base + PL080_TC_CLEAR);
>
> - return mask ? IRQ_HANDLED : IRQ_NONE;
> + return IRQ_HANDLED;
NAK.
These snippets illustrate what is not good about this patch, you're making
the driver fragile by removing checks for spurious IRQ.
So for example if there is an error or TC IRQ on a channel that is not
in use, what happens now?
It used to result in IRQ_NONE, now all of a sudden we start handling
spurious IRQs and claim IRQ_HANDLED with totally unpredictable
results, whereas they would previously gather error metrics for
spurious IRQs.
Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists