Re: [PATCH v2 4/4] irqdesc: Add domain handler for NMIs

From: kbuild test robot
Date: Tue Aug 28 2018 - 23:33:53 EST


Hi Julien,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.19-rc1 next-20180828]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Julien-Thierry/genirq-Provide-basic-NMI-management-for-interrupt-lines/20180829-063713
config: arm-nuc960_defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.2.0 make.cross ARCH=arm

All errors (new ones prefixed by >>):

kernel/irq/irqdesc.c: In function 'handle_domain_nmi':
>> kernel/irq/irqdesc.c:686:8: error: implicit declaration of function 'irq_find_mapping'; did you mean 'irq_dispose_mapping'? [-Werror=implicit-function-declaration]
irq = irq_find_mapping(domain, hwirq);
^~~~~~~~~~~~~~~~
irq_dispose_mapping
cc1: some warnings being treated as errors

vim +686 kernel/irq/irqdesc.c

668
669 /**
670 * handle_domain_nmi - Invoke the handler for a HW irq belonging to a domain
671 * @domain: The domain where to perform the lookup
672 * @hwirq: The HW irq number to convert to a logical one
673 * @regs: Register file coming from the low-level handling code
674 *
675 * Returns: 0 on success, or -EINVAL if conversion has failed
676 */
677 int handle_domain_nmi(struct irq_domain *domain, unsigned int hwirq,
678 struct pt_regs *regs)
679 {
680 struct pt_regs *old_regs = set_irq_regs(regs);
681 unsigned int irq;
682 int ret = 0;
683
684 nmi_enter();
685
> 686 irq = irq_find_mapping(domain, hwirq);
687
688 /*
689 * ack_bad_irq is not NMI-safe, just report
690 * an invalid interrupt.
691 */
692 if (likely(irq))
693 generic_handle_irq(irq);
694 else
695 ret = -EINVAL;
696
697 nmi_exit();
698 set_irq_regs(old_regs);
699 return ret;
700 }
701 #endif
702

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip