lkml.org 
[lkml]   [2015]   [May]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC v1 25/25] genirq: Kill the first parameter 'irq' of irq_flow_handler_t


On Wed, 20 May 2015, Jiang Liu wrote:

> On 2015/5/20 23:40, Thomas Gleixner wrote:
> > On Wed, 20 May 2015, Jiang Liu wrote:
> >> /* Chained IRQ handler for IPU error interrupt */
> >> -static void ipu_irq_err(unsigned int irq, struct irq_desc *desc)
> >> +static void ipu_irq_err(struct irq_desc *desc)
> >> {
> >> + unsigned int irq = irq_desc_to_irq(desc);
> >
> > Why initializing? It's overwritten in the loop.
> Hi Thomas,
>
> I'm not familiar with the hardware, but if src2map() returns 0
> on the first call, we need to initialize irq. Otherwise
> generic_handle_irq(irq) will use random value on the first call.
> ---------------------------------------------------------
> map = src2map(32 * i + line);
> if (map)
> irq = map->irq;

You omitted the following code:

raw_spin_unlock(&bank_lock);

if (!map) {
pr_err("IPU: Interrupt on unmapped source %u bank %d\n",
line, i);
continue;
}

So you it does not use irq if map is 0.

Thanks,

tglx



\
 
 \ /
  Last update: 2015-05-20 21:21    [W:0.544 / U:0.128 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site