Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

genirq: No need to mask non trigger mode flags before __irq_set_trigger()

Some callers of __irq_set_trigger() masks all flags except trigger mode
flags. This is unnecessary, ase __irq_set_trigger() already does this
before usage of flags.

[ tglx: Moved the flag mask and adjusted comment. Removed the hunk in
enable_percpu_irq() as it is required there ]

Signed-off-by: Alexander Kuleshov <kuleshovmail@gmail.com>
Link: http://lkml.kernel.org/r/20160719095408.13778-1-kuleshovmail@gmail.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

authored by

Alexander Kuleshov and committed by
Thomas Gleixner
00b992de 545d5d65

+2 -4
-1
kernel/irq/chip.c
··· 76 76 if (!desc) 77 77 return -EINVAL; 78 78 79 - type &= IRQ_TYPE_SENSE_MASK; 80 79 ret = __irq_set_trigger(desc, type); 81 80 irq_put_desc_busunlock(desc, flags); 82 81 return ret;
+2 -3
kernel/irq/manage.c
··· 669 669 return 0; 670 670 } 671 671 672 - flags &= IRQ_TYPE_SENSE_MASK; 673 - 674 672 if (chip->flags & IRQCHIP_SET_TYPE_MASKED) { 675 673 if (!irqd_irq_masked(&desc->irq_data)) 676 674 mask_irq(desc); ··· 676 678 unmask = 1; 677 679 } 678 680 679 - /* caller masked out all except trigger mode flags */ 681 + /* Mask all flags except trigger mode */ 682 + flags &= IRQ_TYPE_SENSE_MASK; 680 683 ret = chip->irq_set_type(&desc->irq_data, flags); 681 684 682 685 switch (ret) {