Re: Interrupt flags mismatch check in __setup_irq()

From: Andy Shevchenko
Date: Wed Aug 01 2018 - 16:37:32 EST


On Wed, Aug 1, 2018 at 11:05 PM, Shevchenko, Andriy
<andriy.shevchenko@xxxxxxxxx> wrote:
> Hi!

>
> Recently I have experienced some nasty issue
>
> genirq: Flags mismatch irq 18. 00002000 (intel_mrfld_pwrbtn) vs.
> 00002000 (bcove_irq_chip_pwrbtn)
>
> but it is not a merit of my message here.
>
> While trying to understand the logic behind real code and what is wished
> (based on a comment) I have got differences.

Okay, nevermind, I miscalculate the parens in my code.

But still good to have a script to check :-)

>
> Thus, I wrote small python script [1] to understand better.
> I assume it has few false-positives, but I also believe that logic and
> comment are not in alignment and we might need to fix logic, comment, or
> both.
>
> Can you check that script and tell me if there is (in __setup_irq()
> check) an issue or not?
>
> [1]: https://gist.github.com/andy-shev/b85c5129fcfe63cb88849805e5a7e3a4
>
> P.S. Small explanation, the functions are mapped to the following logic:
>
> codebase() - repeats what we have in kernel
> comment() - my understanding how it's supposed to work
> algo() - abstraction of algorithm, so, can be extended thru the RULES
> set
>
> It prints out in case when codebase() != comment() for the same pair of
> flags.
>
> --
> Andy Shevchenko <andriy.shevchenko@xxxxxxxxx>
> Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo



--
With Best Regards,
Andy Shevchenko