On Tue, Jun 20, 2017 at 01:37:32AM +0200, Thomas Gleixner wrote:
> @@ -441,18 +440,27 @@ void fixup_irqs(void)
>  
>       for_each_irq_desc(irq, desc) {
>               const struct cpumask *affinity;
> -             int break_affinity = 0;
> -             int set_affinity = 1;
> +             bool break_affinity = false;
>  
>               if (!desc)
>                       continue;
> -             if (irq == 2)
> -                     continue;
>  
>               /* interrupt's are disabled at this point */
>               raw_spin_lock(&desc->lock);
>  
>               data = irq_desc_get_irq_data(desc);
> +             chip = irq_data_get_irq_chip(data);
> +             /*
> +              * The interrupt descriptor might have been cleaned up
> +              * already, but it is not yet removed from the radix
> +              * tree. If the chip does not have an affinity setter,
> +              * nothing to do here.
> +              */
> +             if (!chip !chip->irq_set_affinity) {
> +                     raw_spin_unlock(&desc->lock);
> +                     continue;
> +             }

A bit of a moot point since the very next patch deletes all of this,
but found this broken 'if' condition when compiling one at a time,
missing the '&&'.

Reply via email to