tree: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next head: 3055eb90f2dbe8000932175dec3fa4f4f29ca353 commit: d667ece874e00c404cf66caf0a7b710794cc07dd [62/77] PCI/ERR: Clear PCIe Device Status errors only if OS owns AER config: xtensa-allmodconfig (attached as .config) compiler: xtensa-linux-gcc (GCC) 9.3.0 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 git checkout d667ece874e00c404cf66caf0a7b710794cc07dd # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=xtensa If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): In file included from include/linux/string.h:6, from include/linux/uuid.h:12, from include/linux/mod_devicetable.h:13, from include/linux/pci.h:27, from drivers/pci/pcie/err.c:15: include/linux/scatterlist.h: In function 'sg_set_buf': arch/xtensa/include/asm/page.h:193:9: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] 193 | ((pfn) >= ARCH_PFN_OFFSET && ((pfn) - ARCH_PFN_OFFSET) < max_mapnr) | ^~ include/linux/compiler.h:78:42: note: in definition of macro 'unlikely' 78 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON' 143 | BUG_ON(!virt_addr_valid(buf)); | ^~~~~~ arch/xtensa/include/asm/page.h:201:32: note: in expansion of macro 'pfn_valid' 201 | #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) | ^~~~~~~~~ include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid' 143 | BUG_ON(!virt_addr_valid(buf)); | ^~~~~~~~~~~~~~~ In file included from ./arch/xtensa/include/generated/asm/bug.h:1, from include/linux/bug.h:5, from include/linux/thread_info.h:12, from arch/xtensa/include/asm/current.h:18, from include/linux/mutex.h:14, from include/linux/kernfs.h:12, from include/linux/sysfs.h:16, from include/linux/kobject.h:20, from include/linux/pci.h:35, from drivers/pci/pcie/err.c:15: include/linux/dma-mapping.h: In function 'dma_map_resource': arch/xtensa/include/asm/page.h:193:9: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] 193 | ((pfn) >= ARCH_PFN_OFFSET && ((pfn) - ARCH_PFN_OFFSET) < max_mapnr) | ^~ include/asm-generic/bug.h:144:27: note: in definition of macro 'WARN_ON_ONCE' 144 | int __ret_warn_once = !!(condition); \ | ^~~~~~~~~ include/linux/dma-mapping.h:352:19: note: in expansion of macro 'pfn_valid' 352 | if (WARN_ON_ONCE(pfn_valid(PHYS_PFN(phys_addr)))) | ^~~~~~~~~ drivers/pci/pcie/err.c: In function 'pcie_do_recovery': >> drivers/pci/pcie/err.c:200:6: error: too few arguments to function 'pcie_aer_is_native' 200 | if (pcie_aer_is_native()) | ^~~~~~~~~~~~~~~~~~ In file included from drivers/pci/pcie/err.c:20: drivers/pci/pcie/portdrv.h:32:5: note: declared here 32 | int pcie_aer_is_native(struct pci_dev *dev); | ^~~~~~~~~~~~~~~~~~ -- In file included from include/linux/build_bug.h:5, from include/linux/bits.h:23, from include/linux/bitops.h:5, from drivers/pci/pcie/aer.c:18: include/linux/scatterlist.h: In function 'sg_set_buf': arch/xtensa/include/asm/page.h:193:9: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] 193 | ((pfn) >= ARCH_PFN_OFFSET && ((pfn) - ARCH_PFN_OFFSET) < max_mapnr) | ^~ include/linux/compiler.h:78:42: note: in definition of macro 'unlikely' 78 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON' 143 | BUG_ON(!virt_addr_valid(buf)); | ^~~~~~ arch/xtensa/include/asm/page.h:201:32: note: in expansion of macro 'pfn_valid' 201 | #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) | ^~~~~~~~~ include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid' 143 | BUG_ON(!virt_addr_valid(buf)); | ^~~~~~~~~~~~~~~ In file included from ./arch/xtensa/include/generated/asm/bug.h:1, from include/linux/bug.h:5, from include/linux/thread_info.h:12, from include/asm-generic/preempt.h:5, from ./arch/xtensa/include/generated/asm/preempt.h:1, from include/linux/preempt.h:78, from include/linux/spinlock.h:51, from include/linux/wait.h:9, from include/linux/wait_bit.h:8, from include/linux/fs.h:6, from include/linux/seq_buf.h:5, from include/linux/trace_seq.h:5, from include/linux/cper.h:13, from drivers/pci/pcie/aer.c:19: include/linux/dma-mapping.h: In function 'dma_map_resource': arch/xtensa/include/asm/page.h:193:9: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] 193 | ((pfn) >= ARCH_PFN_OFFSET && ((pfn) - ARCH_PFN_OFFSET) < max_mapnr) | ^~ include/asm-generic/bug.h:144:27: note: in definition of macro 'WARN_ON_ONCE' 144 | int __ret_warn_once = !!(condition); \ | ^~~~~~~~~ include/linux/dma-mapping.h:352:19: note: in expansion of macro 'pfn_valid' 352 | if (WARN_ON_ONCE(pfn_valid(PHYS_PFN(phys_addr)))) | ^~~~~~~~~ drivers/pci/pcie/aer.c: In function 'handle_error_source': >> drivers/pci/pcie/aer.c:942:7: error: too few arguments to function 'pcie_aer_is_native' 942 | if (pcie_aer_is_native()) | ^~~~~~~~~~~~~~~~~~ drivers/pci/pcie/aer.c:215:5: note: declared here 215 | int pcie_aer_is_native(struct pci_dev *dev) | ^~~~~~~~~~~~~~~~~~ vim +/pcie_aer_is_native +200 drivers/pci/pcie/err.c 148 149 pci_ers_result_t pcie_do_recovery(struct pci_dev *dev, 150 pci_channel_state_t state, 151 pci_ers_result_t (*reset_link)(struct pci_dev *pdev)) 152 { 153 pci_ers_result_t status = PCI_ERS_RESULT_CAN_RECOVER; 154 struct pci_bus *bus; 155 156 /* 157 * Error recovery runs on all subordinates of the first downstream port. 158 * If the downstream port detected the error, it is cleared at the end. 159 */ 160 if (!(pci_pcie_type(dev) == PCI_EXP_TYPE_ROOT_PORT || 161 pci_pcie_type(dev) == PCI_EXP_TYPE_DOWNSTREAM)) 162 dev = dev->bus->self; 163 bus = dev->subordinate; 164 165 pci_dbg(dev, "broadcast error_detected message\n"); 166 if (state == pci_channel_io_frozen) { 167 pci_walk_bus(bus, report_frozen_detected, &status); 168 status = reset_link(dev); 169 if (status != PCI_ERS_RESULT_RECOVERED) { 170 pci_warn(dev, "link reset failed\n"); 171 goto failed; 172 } 173 } else { 174 pci_walk_bus(bus, report_normal_detected, &status); 175 } 176 177 if (status == PCI_ERS_RESULT_CAN_RECOVER) { 178 status = PCI_ERS_RESULT_RECOVERED; 179 pci_dbg(dev, "broadcast mmio_enabled message\n"); 180 pci_walk_bus(bus, report_mmio_enabled, &status); 181 } 182 183 if (status == PCI_ERS_RESULT_NEED_RESET) { 184 /* 185 * TODO: Should call platform-specific 186 * functions to reset slot before calling 187 * drivers' slot_reset callbacks? 188 */ 189 status = PCI_ERS_RESULT_RECOVERED; 190 pci_dbg(dev, "broadcast slot_reset message\n"); 191 pci_walk_bus(bus, report_slot_reset, &status); 192 } 193 194 if (status != PCI_ERS_RESULT_RECOVERED) 195 goto failed; 196 197 pci_dbg(dev, "broadcast resume message\n"); 198 pci_walk_bus(bus, report_resume, &status); 199 > 200 if (pcie_aer_is_native()) --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip