All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Thomas Gleixner <tglx@linutronix.de>,
	Oleksandr Natalenko <oleksandr@natalenko.name>,
	bugzilla-daemon@bugzilla.kernel.org
Cc: kbuild-all@lists.01.org, jdelvare@suse.de, wsa@kernel.org,
	benjamin.tissoires@redhat.com, rui.zhang@intel.com,
	linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org,
	Marc Zyngier <maz@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>
Subject: Re: genirq, i2c: Provide and use generic_dispatch_irq()
Date: Sun, 6 Dec 2020 05:27:15 +0800	[thread overview]
Message-ID: <202012060504.ezMKvouB-lkp@intel.com> (raw)
In-Reply-To: <87zh2s8buh.fsf@nanos.tec.linutronix.de>

[-- Attachment #1: Type: text/plain, Size: 11675 bytes --]

Hi Thomas,

I love your patch! Perhaps something to improve:

[auto build test WARNING on wsa/i2c/for-next]
[also build test WARNING on tip/irq/core linux/master linus/master v5.10-rc6 next-20201204]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Thomas-Gleixner/genirq-i2c-Provide-and-use-generic_dispatch_irq/20201206-023308
base:   https://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-next
config: parisc-randconfig-s032-20201206 (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.3-179-ga00755aa-dirty
        # https://github.com/0day-ci/linux/commit/79d4e8b739f9018dc2d95a25baf1199fbcf1fb03
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Thomas-Gleixner/genirq-i2c-Provide-and-use-generic_dispatch_irq/20201206-023308
        git checkout 79d4e8b739f9018dc2d95a25baf1199fbcf1fb03
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=parisc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   In file included from include/linux/spinlock.h:50,
                    from include/linux/irq.h:14,
                    from kernel/irq/irqdesc.c:10:
   kernel/irq/irqdesc.c: In function 'generic_dispatch_irq':
   include/linux/typecheck.h:12:18: warning: comparison of distinct pointer types lacks a cast
      12 |  (void)(&__dummy == &__dummy2); \
         |                  ^~
   include/linux/irqflags.h:159:3: note: in expansion of macro 'typecheck'
     159 |   typecheck(unsigned long, flags); \
         |   ^~~~~~~~~
   include/linux/irqflags.h:202:3: note: in expansion of macro 'raw_local_irq_save'
     202 |   raw_local_irq_save(flags);  \
         |   ^~~~~~~~~~~~~~~~~~
   kernel/irq/irqdesc.c:669:2: note: in expansion of macro 'local_irq_save'
     669 |  local_irq_save(&flags);
         |  ^~~~~~~~~~~~~~
   In file included from include/asm-generic/cmpxchg-local.h:6,
                    from arch/parisc/include/asm/cmpxchg.h:89,
                    from arch/parisc/include/asm/atomic.h:10,
                    from include/linux/atomic.h:7,
                    from arch/parisc/include/asm/bitops.h:13,
                    from include/linux/bitops.h:29,
                    from include/linux/kernel.h:12,
                    from include/linux/list.h:9,
                    from include/linux/preempt.h:11,
                    from include/linux/spinlock.h:51,
                    from include/linux/irq.h:14,
                    from kernel/irq/irqdesc.c:10:
   include/linux/irqflags.h:160:9: error: lvalue required as left operand of assignment
     160 |   flags = arch_local_irq_save();  \
         |         ^
   include/linux/irqflags.h:202:3: note: in expansion of macro 'raw_local_irq_save'
     202 |   raw_local_irq_save(flags);  \
         |   ^~~~~~~~~~~~~~~~~~
   kernel/irq/irqdesc.c:669:2: note: in expansion of macro 'local_irq_save'
     669 |  local_irq_save(&flags);
         |  ^~~~~~~~~~~~~~
   In file included from include/linux/spinlock.h:50,
                    from include/linux/irq.h:14,
                    from kernel/irq/irqdesc.c:10:
   include/linux/typecheck.h:12:18: warning: comparison of distinct pointer types lacks a cast
      12 |  (void)(&__dummy == &__dummy2); \
         |                  ^~
   include/linux/irqflags.h:174:3: note: in expansion of macro 'typecheck'
     174 |   typecheck(unsigned long, flags); \
         |   ^~~~~~~~~
   include/linux/irqflags.h:203:8: note: in expansion of macro 'raw_irqs_disabled_flags'
     203 |   if (!raw_irqs_disabled_flags(flags)) \
         |        ^~~~~~~~~~~~~~~~~~~~~~~
   kernel/irq/irqdesc.c:669:2: note: in expansion of macro 'local_irq_save'
     669 |  local_irq_save(&flags);
         |  ^~~~~~~~~~~~~~
   In file included from include/asm-generic/cmpxchg-local.h:6,
                    from arch/parisc/include/asm/cmpxchg.h:89,
                    from arch/parisc/include/asm/atomic.h:10,
                    from include/linux/atomic.h:7,
                    from arch/parisc/include/asm/bitops.h:13,
                    from include/linux/bitops.h:29,
                    from include/linux/kernel.h:12,
                    from include/linux/list.h:9,
                    from include/linux/preempt.h:11,
                    from include/linux/spinlock.h:51,
                    from include/linux/irq.h:14,
                    from kernel/irq/irqdesc.c:10:
>> kernel/irq/irqdesc.c:669:17: warning: passing argument 1 of 'arch_irqs_disabled_flags' makes integer from pointer without a cast [-Wint-conversion]
     669 |  local_irq_save(&flags);
         |                 ^~~~~~
         |                 |
         |                 long unsigned int *
   include/linux/irqflags.h:175:28: note: in definition of macro 'raw_irqs_disabled_flags'
     175 |   arch_irqs_disabled_flags(flags); \
         |                            ^~~~~
   kernel/irq/irqdesc.c:669:2: note: in expansion of macro 'local_irq_save'
     669 |  local_irq_save(&flags);
         |  ^~~~~~~~~~~~~~
   In file included from include/linux/irqflags.h:16,
                    from include/asm-generic/cmpxchg-local.h:6,
                    from arch/parisc/include/asm/cmpxchg.h:89,
                    from arch/parisc/include/asm/atomic.h:10,
                    from include/linux/atomic.h:7,
                    from arch/parisc/include/asm/bitops.h:13,
                    from include/linux/bitops.h:29,
                    from include/linux/kernel.h:12,
                    from include/linux/list.h:9,
                    from include/linux/preempt.h:11,
                    from include/linux/spinlock.h:51,
                    from include/linux/irq.h:14,
                    from kernel/irq/irqdesc.c:10:
   arch/parisc/include/asm/irqflags.h:37:59: note: expected 'long unsigned int' but argument is of type 'long unsigned int *'
      37 | static inline bool arch_irqs_disabled_flags(unsigned long flags)
         |                                             ~~~~~~~~~~~~~~^~~~~
   In file included from include/linux/spinlock.h:50,
                    from include/linux/irq.h:14,
                    from kernel/irq/irqdesc.c:10:
   include/linux/typecheck.h:12:18: warning: comparison of distinct pointer types lacks a cast
      12 |  (void)(&__dummy == &__dummy2); \
         |                  ^~
   include/linux/irqflags.h:174:3: note: in expansion of macro 'typecheck'
     174 |   typecheck(unsigned long, flags); \
         |   ^~~~~~~~~
   include/linux/irqflags.h:209:8: note: in expansion of macro 'raw_irqs_disabled_flags'
     209 |   if (!raw_irqs_disabled_flags(flags)) \
         |        ^~~~~~~~~~~~~~~~~~~~~~~
   kernel/irq/irqdesc.c:671:2: note: in expansion of macro 'local_irq_restore'
     671 |  local_irq_restore(&flags);
         |  ^~~~~~~~~~~~~~~~~
   In file included from include/asm-generic/cmpxchg-local.h:6,
                    from arch/parisc/include/asm/cmpxchg.h:89,
                    from arch/parisc/include/asm/atomic.h:10,
                    from include/linux/atomic.h:7,
                    from arch/parisc/include/asm/bitops.h:13,
                    from include/linux/bitops.h:29,
                    from include/linux/kernel.h:12,
                    from include/linux/list.h:9,
                    from include/linux/preempt.h:11,
                    from include/linux/spinlock.h:51,
                    from include/linux/irq.h:14,
                    from kernel/irq/irqdesc.c:10:
   kernel/irq/irqdesc.c:671:20: warning: passing argument 1 of 'arch_irqs_disabled_flags' makes integer from pointer without a cast [-Wint-conversion]
     671 |  local_irq_restore(&flags);
         |                    ^~~~~~
         |                    |
         |                    long unsigned int *
   include/linux/irqflags.h:175:28: note: in definition of macro 'raw_irqs_disabled_flags'
     175 |   arch_irqs_disabled_flags(flags); \
         |                            ^~~~~
   kernel/irq/irqdesc.c:671:2: note: in expansion of macro 'local_irq_restore'
     671 |  local_irq_restore(&flags);
         |  ^~~~~~~~~~~~~~~~~
   In file included from include/linux/irqflags.h:16,
                    from include/asm-generic/cmpxchg-local.h:6,
                    from arch/parisc/include/asm/cmpxchg.h:89,
                    from arch/parisc/include/asm/atomic.h:10,
                    from include/linux/atomic.h:7,
                    from arch/parisc/include/asm/bitops.h:13,
                    from include/linux/bitops.h:29,
                    from include/linux/kernel.h:12,
                    from include/linux/list.h:9,
                    from include/linux/preempt.h:11,
                    from include/linux/spinlock.h:51,
                    from include/linux/irq.h:14,
                    from kernel/irq/irqdesc.c:10:
   arch/parisc/include/asm/irqflags.h:37:59: note: expected 'long unsigned int' but argument is of type 'long unsigned int *'
      37 | static inline bool arch_irqs_disabled_flags(unsigned long flags)
         |                                             ~~~~~~~~~~~~~~^~~~~
   In file included from include/linux/spinlock.h:50,
                    from include/linux/irq.h:14,
                    from kernel/irq/irqdesc.c:10:
   include/linux/typecheck.h:12:18: warning: comparison of distinct pointer types lacks a cast
      12 |  (void)(&__dummy == &__dummy2); \
         |                  ^~
   include/linux/irqflags.h:164:3: note: in expansion of macro 'typecheck'
     164 |   typecheck(unsigned long, flags); \
         |   ^~~~~~~~~
   include/linux/irqflags.h:211:3: note: in expansion of macro 'raw_local_irq_restore'
     211 |   raw_local_irq_restore(flags);  \
         |   ^~~~~~~~~~~~~~~~~~~~~
   kernel/irq/irqdesc.c:671:2: note: in expansion of macro 'local_irq_restore'
     671 |  local_irq_restore(&flags);
         |  ^~~~~~~~~~~~~~~~~
   In file included from include/asm-generic/cmpxchg-local.h:6,
                    from arch/parisc/include/asm/cmpxchg.h:89,
                    from arch/parisc/include/asm/atomic.h:10,
                    from include/linux/atomic.h:7,
                    from arch/parisc/include/asm/bitops.h:13,

vim +/arch_irqs_disabled_flags +669 kernel/irq/irqdesc.c

   654	
   655	/**
   656	 * generic_dispatch_irq - Dispatch an interrupt from an interrupt handler
   657	 * @irq:	The irq number to handle
   658	 *
   659	 * A wrapper around generic_handle_irq() which ensures that interrupts are
   660	 * disabled when the primary handler of the dispatched irq is invoked.
   661	 * This is useful for interrupt handlers with dispatching to be safe for
   662	 * the forced threaded case.
   663	 */
   664	int generic_dispatch_irq(unsigned int irq)
   665	{
   666		unsigned long flags;
   667		int ret;
   668	
 > 669		local_irq_save(&flags);
   670		ret = generic_handle_irq(irq);
   671		local_irq_restore(&flags);
   672		return ret;
   673	}
   674	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 34745 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: genirq, i2c: Provide and use generic_dispatch_irq()
Date: Sun, 06 Dec 2020 05:27:15 +0800	[thread overview]
Message-ID: <202012060504.ezMKvouB-lkp@intel.com> (raw)
In-Reply-To: <87zh2s8buh.fsf@nanos.tec.linutronix.de>

[-- Attachment #1: Type: text/plain, Size: 11901 bytes --]

Hi Thomas,

I love your patch! Perhaps something to improve:

[auto build test WARNING on wsa/i2c/for-next]
[also build test WARNING on tip/irq/core linux/master linus/master v5.10-rc6 next-20201204]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Thomas-Gleixner/genirq-i2c-Provide-and-use-generic_dispatch_irq/20201206-023308
base:   https://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-next
config: parisc-randconfig-s032-20201206 (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.3-179-ga00755aa-dirty
        # https://github.com/0day-ci/linux/commit/79d4e8b739f9018dc2d95a25baf1199fbcf1fb03
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Thomas-Gleixner/genirq-i2c-Provide-and-use-generic_dispatch_irq/20201206-023308
        git checkout 79d4e8b739f9018dc2d95a25baf1199fbcf1fb03
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=parisc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   In file included from include/linux/spinlock.h:50,
                    from include/linux/irq.h:14,
                    from kernel/irq/irqdesc.c:10:
   kernel/irq/irqdesc.c: In function 'generic_dispatch_irq':
   include/linux/typecheck.h:12:18: warning: comparison of distinct pointer types lacks a cast
      12 |  (void)(&__dummy == &__dummy2); \
         |                  ^~
   include/linux/irqflags.h:159:3: note: in expansion of macro 'typecheck'
     159 |   typecheck(unsigned long, flags); \
         |   ^~~~~~~~~
   include/linux/irqflags.h:202:3: note: in expansion of macro 'raw_local_irq_save'
     202 |   raw_local_irq_save(flags);  \
         |   ^~~~~~~~~~~~~~~~~~
   kernel/irq/irqdesc.c:669:2: note: in expansion of macro 'local_irq_save'
     669 |  local_irq_save(&flags);
         |  ^~~~~~~~~~~~~~
   In file included from include/asm-generic/cmpxchg-local.h:6,
                    from arch/parisc/include/asm/cmpxchg.h:89,
                    from arch/parisc/include/asm/atomic.h:10,
                    from include/linux/atomic.h:7,
                    from arch/parisc/include/asm/bitops.h:13,
                    from include/linux/bitops.h:29,
                    from include/linux/kernel.h:12,
                    from include/linux/list.h:9,
                    from include/linux/preempt.h:11,
                    from include/linux/spinlock.h:51,
                    from include/linux/irq.h:14,
                    from kernel/irq/irqdesc.c:10:
   include/linux/irqflags.h:160:9: error: lvalue required as left operand of assignment
     160 |   flags = arch_local_irq_save();  \
         |         ^
   include/linux/irqflags.h:202:3: note: in expansion of macro 'raw_local_irq_save'
     202 |   raw_local_irq_save(flags);  \
         |   ^~~~~~~~~~~~~~~~~~
   kernel/irq/irqdesc.c:669:2: note: in expansion of macro 'local_irq_save'
     669 |  local_irq_save(&flags);
         |  ^~~~~~~~~~~~~~
   In file included from include/linux/spinlock.h:50,
                    from include/linux/irq.h:14,
                    from kernel/irq/irqdesc.c:10:
   include/linux/typecheck.h:12:18: warning: comparison of distinct pointer types lacks a cast
      12 |  (void)(&__dummy == &__dummy2); \
         |                  ^~
   include/linux/irqflags.h:174:3: note: in expansion of macro 'typecheck'
     174 |   typecheck(unsigned long, flags); \
         |   ^~~~~~~~~
   include/linux/irqflags.h:203:8: note: in expansion of macro 'raw_irqs_disabled_flags'
     203 |   if (!raw_irqs_disabled_flags(flags)) \
         |        ^~~~~~~~~~~~~~~~~~~~~~~
   kernel/irq/irqdesc.c:669:2: note: in expansion of macro 'local_irq_save'
     669 |  local_irq_save(&flags);
         |  ^~~~~~~~~~~~~~
   In file included from include/asm-generic/cmpxchg-local.h:6,
                    from arch/parisc/include/asm/cmpxchg.h:89,
                    from arch/parisc/include/asm/atomic.h:10,
                    from include/linux/atomic.h:7,
                    from arch/parisc/include/asm/bitops.h:13,
                    from include/linux/bitops.h:29,
                    from include/linux/kernel.h:12,
                    from include/linux/list.h:9,
                    from include/linux/preempt.h:11,
                    from include/linux/spinlock.h:51,
                    from include/linux/irq.h:14,
                    from kernel/irq/irqdesc.c:10:
>> kernel/irq/irqdesc.c:669:17: warning: passing argument 1 of 'arch_irqs_disabled_flags' makes integer from pointer without a cast [-Wint-conversion]
     669 |  local_irq_save(&flags);
         |                 ^~~~~~
         |                 |
         |                 long unsigned int *
   include/linux/irqflags.h:175:28: note: in definition of macro 'raw_irqs_disabled_flags'
     175 |   arch_irqs_disabled_flags(flags); \
         |                            ^~~~~
   kernel/irq/irqdesc.c:669:2: note: in expansion of macro 'local_irq_save'
     669 |  local_irq_save(&flags);
         |  ^~~~~~~~~~~~~~
   In file included from include/linux/irqflags.h:16,
                    from include/asm-generic/cmpxchg-local.h:6,
                    from arch/parisc/include/asm/cmpxchg.h:89,
                    from arch/parisc/include/asm/atomic.h:10,
                    from include/linux/atomic.h:7,
                    from arch/parisc/include/asm/bitops.h:13,
                    from include/linux/bitops.h:29,
                    from include/linux/kernel.h:12,
                    from include/linux/list.h:9,
                    from include/linux/preempt.h:11,
                    from include/linux/spinlock.h:51,
                    from include/linux/irq.h:14,
                    from kernel/irq/irqdesc.c:10:
   arch/parisc/include/asm/irqflags.h:37:59: note: expected 'long unsigned int' but argument is of type 'long unsigned int *'
      37 | static inline bool arch_irqs_disabled_flags(unsigned long flags)
         |                                             ~~~~~~~~~~~~~~^~~~~
   In file included from include/linux/spinlock.h:50,
                    from include/linux/irq.h:14,
                    from kernel/irq/irqdesc.c:10:
   include/linux/typecheck.h:12:18: warning: comparison of distinct pointer types lacks a cast
      12 |  (void)(&__dummy == &__dummy2); \
         |                  ^~
   include/linux/irqflags.h:174:3: note: in expansion of macro 'typecheck'
     174 |   typecheck(unsigned long, flags); \
         |   ^~~~~~~~~
   include/linux/irqflags.h:209:8: note: in expansion of macro 'raw_irqs_disabled_flags'
     209 |   if (!raw_irqs_disabled_flags(flags)) \
         |        ^~~~~~~~~~~~~~~~~~~~~~~
   kernel/irq/irqdesc.c:671:2: note: in expansion of macro 'local_irq_restore'
     671 |  local_irq_restore(&flags);
         |  ^~~~~~~~~~~~~~~~~
   In file included from include/asm-generic/cmpxchg-local.h:6,
                    from arch/parisc/include/asm/cmpxchg.h:89,
                    from arch/parisc/include/asm/atomic.h:10,
                    from include/linux/atomic.h:7,
                    from arch/parisc/include/asm/bitops.h:13,
                    from include/linux/bitops.h:29,
                    from include/linux/kernel.h:12,
                    from include/linux/list.h:9,
                    from include/linux/preempt.h:11,
                    from include/linux/spinlock.h:51,
                    from include/linux/irq.h:14,
                    from kernel/irq/irqdesc.c:10:
   kernel/irq/irqdesc.c:671:20: warning: passing argument 1 of 'arch_irqs_disabled_flags' makes integer from pointer without a cast [-Wint-conversion]
     671 |  local_irq_restore(&flags);
         |                    ^~~~~~
         |                    |
         |                    long unsigned int *
   include/linux/irqflags.h:175:28: note: in definition of macro 'raw_irqs_disabled_flags'
     175 |   arch_irqs_disabled_flags(flags); \
         |                            ^~~~~
   kernel/irq/irqdesc.c:671:2: note: in expansion of macro 'local_irq_restore'
     671 |  local_irq_restore(&flags);
         |  ^~~~~~~~~~~~~~~~~
   In file included from include/linux/irqflags.h:16,
                    from include/asm-generic/cmpxchg-local.h:6,
                    from arch/parisc/include/asm/cmpxchg.h:89,
                    from arch/parisc/include/asm/atomic.h:10,
                    from include/linux/atomic.h:7,
                    from arch/parisc/include/asm/bitops.h:13,
                    from include/linux/bitops.h:29,
                    from include/linux/kernel.h:12,
                    from include/linux/list.h:9,
                    from include/linux/preempt.h:11,
                    from include/linux/spinlock.h:51,
                    from include/linux/irq.h:14,
                    from kernel/irq/irqdesc.c:10:
   arch/parisc/include/asm/irqflags.h:37:59: note: expected 'long unsigned int' but argument is of type 'long unsigned int *'
      37 | static inline bool arch_irqs_disabled_flags(unsigned long flags)
         |                                             ~~~~~~~~~~~~~~^~~~~
   In file included from include/linux/spinlock.h:50,
                    from include/linux/irq.h:14,
                    from kernel/irq/irqdesc.c:10:
   include/linux/typecheck.h:12:18: warning: comparison of distinct pointer types lacks a cast
      12 |  (void)(&__dummy == &__dummy2); \
         |                  ^~
   include/linux/irqflags.h:164:3: note: in expansion of macro 'typecheck'
     164 |   typecheck(unsigned long, flags); \
         |   ^~~~~~~~~
   include/linux/irqflags.h:211:3: note: in expansion of macro 'raw_local_irq_restore'
     211 |   raw_local_irq_restore(flags);  \
         |   ^~~~~~~~~~~~~~~~~~~~~
   kernel/irq/irqdesc.c:671:2: note: in expansion of macro 'local_irq_restore'
     671 |  local_irq_restore(&flags);
         |  ^~~~~~~~~~~~~~~~~
   In file included from include/asm-generic/cmpxchg-local.h:6,
                    from arch/parisc/include/asm/cmpxchg.h:89,
                    from arch/parisc/include/asm/atomic.h:10,
                    from include/linux/atomic.h:7,
                    from arch/parisc/include/asm/bitops.h:13,

vim +/arch_irqs_disabled_flags +669 kernel/irq/irqdesc.c

   654	
   655	/**
   656	 * generic_dispatch_irq - Dispatch an interrupt from an interrupt handler
   657	 * @irq:	The irq number to handle
   658	 *
   659	 * A wrapper around generic_handle_irq() which ensures that interrupts are
   660	 * disabled when the primary handler of the dispatched irq is invoked.
   661	 * This is useful for interrupt handlers with dispatching to be safe for
   662	 * the forced threaded case.
   663	 */
   664	int generic_dispatch_irq(unsigned int irq)
   665	{
   666		unsigned long flags;
   667		int ret;
   668	
 > 669		local_irq_save(&flags);
   670		ret = generic_handle_irq(irq);
   671		local_irq_restore(&flags);
   672		return ret;
   673	}
   674	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 34745 bytes --]

  parent reply	other threads:[~2020-12-05 21:29 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <bug-202453-19117@https.bugzilla.kernel.org/>
     [not found] ` <bug-202453-19117-0k1QQBMPTi@https.bugzilla.kernel.org/>
2020-12-04 20:19   ` [Bug 202453] TRACE irq/18-i801_smb Tainted when enabled threadirqs in kernel commandline Oleksandr Natalenko
2020-12-05 16:19     ` Thomas Gleixner
2020-12-05 16:24       ` Oleksandr Natalenko
2020-12-05 18:59         ` Thomas Gleixner
2020-12-05 20:19       ` genirq, i2c: Provide and use generic_dispatch_irq() kernel test robot
2020-12-05 20:19         ` kernel test robot
2020-12-05 20:19       ` kernel test robot
2020-12-05 20:19         ` kernel test robot
2020-12-05 21:27       ` kernel test robot [this message]
2020-12-05 21:27         ` kernel test robot
2021-01-04 20:58     ` [Bug 202453] TRACE irq/18-i801_smb Tainted when enabled threadirqs in kernel commandline Wolfram Sang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202012060504.ezMKvouB-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=benjamin.tissoires@redhat.com \
    --cc=bugzilla-daemon@bugzilla.kernel.org \
    --cc=jdelvare@suse.de \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maz@kernel.org \
    --cc=oleksandr@natalenko.name \
    --cc=peterz@infradead.org \
    --cc=rui.zhang@intel.com \
    --cc=tglx@linutronix.de \
    --cc=wsa@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.