[BUG?] vic MULTI_IRQ_HANDLER (was [PATCH] ep93xx: Implement double buffering for M2M DMA channels)
Jamie Iles
jamie at jamieiles.com
Wed Apr 4 05:12:56 EDT 2012
On 4 April 2012 10:11, Will Deacon <will.deacon at arm.com> wrote:
> On Tue, Apr 03, 2012 at 06:46:40PM +0100, H Hartley Sweeten wrote:
>> On Tuesday, April 03, 2012 10:08 AM, Will Deacon wrote:
>> > diff --git a/arch/arm/common/vic.c b/arch/arm/common/vic.c
>> > index dcb004a..cb6b49a 100644
>> > --- a/arch/arm/common/vic.c
>> > +++ b/arch/arm/common/vic.c
>> > @@ -441,11 +441,9 @@ static int handle_one_vic(struct vic_device *vic, struct pt_regs *regs)
>> > u32 stat, irq;
>> > int handled = 0;
>> >
>> > - stat = readl_relaxed(vic->base + VIC_IRQ_STATUS);
>> > - while (stat) {
>> > + while ((stat = readl_relaxed(vic->base + VIC_IRQ_STATUS))) {
>> > irq = ffs(stat) - 1;
>> > handle_IRQ(irq_domain_to_irq(&vic->domain, irq), regs);
>> > - stat &= ~(1 << irq);
>> > handled = 1;
>> > }
>>
>> This should be posted as a proper patch with your Signed-off-by.
>
> If Jamie's happy with the change, I'll repost.
Sure, lgtm.
Reviewed-by: Jamie Iles <jamie at jamieiles.com>
Jamie
More information about the linux-arm-kernel
mailing list