Hi Matthew, kernel test robot noticed the following build errors: [auto build test ERROR on pci/next] [also build test ERROR on pci/for-linus linus/master v6.7-rc7 next-20231222] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Matthew-W-Carlis/PCI-portdrv-Allow-DPC-if-the-OS-controls-AER-natively/20231225-154046 base: https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git next patch link: https://lore.kernel.org/r/20231223212235.34293-2-mattc%40purestorage.com patch subject: [PATCH 1/1] PCI/portdrv: Allow DPC if the OS controls AER natively. config: arm-defconfig (https://download.01.org/0day-ci/archive/20231226/202312260431.ZXppQZ1I-lkp@xxxxxxxxx/config) compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project.git f28c006a5895fc0e329fe15fead81e37457cb1d1) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231226/202312260431.ZXppQZ1I-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202312260431.ZXppQZ1I-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): >> drivers/pci/pcie/portdrv.c:272:12: error: no member named 'aer_cap' in 'struct pci_dev'; did you mean 'acs_cap'? (dev->aer_cap && host->native_aer))) ^~~~~~~ acs_cap include/linux/pci.h:519:7: note: 'acs_cap' declared here u16 acs_cap; /* ACS Capability offset */ ^ 1 error generated. vim +272 drivers/pci/pcie/portdrv.c 244 245 /* Root Ports and Root Complex Event Collectors may generate PMEs */ 246 if ((pci_pcie_type(dev) == PCI_EXP_TYPE_ROOT_PORT || 247 pci_pcie_type(dev) == PCI_EXP_TYPE_RC_EC) && 248 (pcie_ports_native || host->native_pme)) { 249 services |= PCIE_PORT_SERVICE_PME; 250 251 /* 252 * Disable PME interrupt on this port in case it's been enabled 253 * by the BIOS (the PME service driver will enable it when 254 * necessary). 255 */ 256 pcie_pme_interrupt_enable(dev, false); 257 } 258 259 /* 260 * _OSC AER Control is required by the OS & requires OS to control AER, 261 * but _OSC DPC Control isn't required by the OS to control DPC; however 262 * it does require the OS to control DPC. _OSC DPC Control also requres 263 * _OSC EDR Control (Error Disconnect Recovery) (PCI Firmware - DPC ECN rev3.2) 264 * PCI_Express_Base 6.1, 6.2.11 Determination of DPC Control recommends 265 * platform fw or OS always link control of DPC to AER. 266 * 267 * With dpc-native, allow Linux to use DPC even if it doesn't have 268 * permission to use AER. 269 */ 270 if (pci_find_ext_capability(dev, PCI_EXT_CAP_ID_DPC) && 271 pci_aer_available() && (pcie_ports_dpc_native || > 272 (dev->aer_cap && host->native_aer))) 273 services |= PCIE_PORT_SERVICE_DPC; 274 275 if (pci_pcie_type(dev) == PCI_EXP_TYPE_DOWNSTREAM || 276 pci_pcie_type(dev) == PCI_EXP_TYPE_ROOT_PORT) { 277 u32 linkcap; 278 279 pcie_capability_read_dword(dev, PCI_EXP_LNKCAP, &linkcap); 280 if (linkcap & PCI_EXP_LNKCAP_LBNC) 281 services |= PCIE_PORT_SERVICE_BWNOTIF; 282 } 283 284 return services; 285 } 286 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki