kernel/irq/msi.c:535:54: error: no member named 'maskbit' in 'struct msi_desc::(unnamed at include/linux/msi.h:147:4)'
From: kernel test robot
Date: Fri Oct 29 2021 - 05:46:00 EST
tree: https://github.com/0day-ci/linux/commits/UPDATE-20211027-175235/Josef-Johansson/PCI-MSI-Re-add-checks-for-skip-masking-MSI-X-on-Xen-PV/20211018-142252
head: 91a896f30df2d4dcadb4e7cad7f098e887e3ad5f
commit: 91a896f30df2d4dcadb4e7cad7f098e887e3ad5f PCI/MSI: Move non-mask check back into low level accessors
date: 2 days ago
config: i386-randconfig-r016-20211028 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 5db7568a6a1fcb408eb8988abdaff2a225a8eb72)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/91a896f30df2d4dcadb4e7cad7f098e887e3ad5f
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review UPDATE-20211027-175235/Josef-Johansson/PCI-MSI-Re-add-checks-for-skip-masking-MSI-X-on-Xen-PV/20211018-142252
git checkout 91a896f30df2d4dcadb4e7cad7f098e887e3ad5f
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>
All errors (new ones prefixed by >>):
>> kernel/irq/msi.c:535:54: error: no member named 'maskbit' in 'struct msi_desc::(unnamed at include/linux/msi.h:147:4)'
return desc->msi_attrib.is_msix || desc->msi_attrib.maskbit;
~~~~~~~~~~~~~~~~ ^
1 error generated.
vim +535 kernel/irq/msi.c
2145ac9310b60c1 Marc Zyngier 2015-11-23 498
bc976233a872c0f Thomas Gleixner 2017-12-29 499 /*
bc976233a872c0f Thomas Gleixner 2017-12-29 500 * Carefully check whether the device can use reservation mode. If
bc976233a872c0f Thomas Gleixner 2017-12-29 501 * reservation mode is enabled then the early activation will assign a
bc976233a872c0f Thomas Gleixner 2017-12-29 502 * dummy vector to the device. If the PCI/MSI device does not support
bc976233a872c0f Thomas Gleixner 2017-12-29 503 * masking of the entry then this can result in spurious interrupts when
bc976233a872c0f Thomas Gleixner 2017-12-29 504 * the device driver is not absolutely careful. But even then a malfunction
bc976233a872c0f Thomas Gleixner 2017-12-29 505 * of the hardware could result in a spurious interrupt on the dummy vector
bc976233a872c0f Thomas Gleixner 2017-12-29 506 * and render the device unusable. If the entry can be masked then the core
bc976233a872c0f Thomas Gleixner 2017-12-29 507 * logic will prevent the spurious interrupt and reservation mode can be
bc976233a872c0f Thomas Gleixner 2017-12-29 508 * used. For now reservation mode is restricted to PCI/MSI.
bc976233a872c0f Thomas Gleixner 2017-12-29 509 */
bc976233a872c0f Thomas Gleixner 2017-12-29 510 static bool msi_check_reservation_mode(struct irq_domain *domain,
bc976233a872c0f Thomas Gleixner 2017-12-29 511 struct msi_domain_info *info,
bc976233a872c0f Thomas Gleixner 2017-12-29 512 struct device *dev)
da5dd9e854d2edd Thomas Gleixner 2017-12-29 513 {
bc976233a872c0f Thomas Gleixner 2017-12-29 514 struct msi_desc *desc;
bc976233a872c0f Thomas Gleixner 2017-12-29 515
c6c9e2838c5f0b9 Thomas Gleixner 2020-08-26 516 switch(domain->bus_token) {
c6c9e2838c5f0b9 Thomas Gleixner 2020-08-26 517 case DOMAIN_BUS_PCI_MSI:
c6c9e2838c5f0b9 Thomas Gleixner 2020-08-26 518 case DOMAIN_BUS_VMD_MSI:
c6c9e2838c5f0b9 Thomas Gleixner 2020-08-26 519 break;
c6c9e2838c5f0b9 Thomas Gleixner 2020-08-26 520 default:
bc976233a872c0f Thomas Gleixner 2017-12-29 521 return false;
c6c9e2838c5f0b9 Thomas Gleixner 2020-08-26 522 }
bc976233a872c0f Thomas Gleixner 2017-12-29 523
da5dd9e854d2edd Thomas Gleixner 2017-12-29 524 if (!(info->flags & MSI_FLAG_MUST_REACTIVATE))
da5dd9e854d2edd Thomas Gleixner 2017-12-29 525 return false;
bc976233a872c0f Thomas Gleixner 2017-12-29 526
bc976233a872c0f Thomas Gleixner 2017-12-29 527 if (IS_ENABLED(CONFIG_PCI_MSI) && pci_msi_ignore_mask)
bc976233a872c0f Thomas Gleixner 2017-12-29 528 return false;
bc976233a872c0f Thomas Gleixner 2017-12-29 529
bc976233a872c0f Thomas Gleixner 2017-12-29 530 /*
bc976233a872c0f Thomas Gleixner 2017-12-29 531 * Checking the first MSI descriptor is sufficient. MSIX supports
bc976233a872c0f Thomas Gleixner 2017-12-29 532 * masking and MSI does so when the maskbit is set.
bc976233a872c0f Thomas Gleixner 2017-12-29 533 */
bc976233a872c0f Thomas Gleixner 2017-12-29 534 desc = first_msi_entry(dev);
bc976233a872c0f Thomas Gleixner 2017-12-29 @535 return desc->msi_attrib.is_msix || desc->msi_attrib.maskbit;
da5dd9e854d2edd Thomas Gleixner 2017-12-29 536 }
da5dd9e854d2edd Thomas Gleixner 2017-12-29 537
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip