Re: [PATCH v8 05/16] PCI/AER: CXL driver dequeues CXL error forwarded from AER service driver

From: kernel test robot
Date: Thu Mar 27 2025 - 00:44:55 EST


Hi Terry,

kernel test robot noticed the following build errors:

[auto build test ERROR on aae0594a7053c60b82621136257c8b648c67b512]

url: https://github.com/intel-lab-lkp/linux/commits/Terry-Bowman/PCI-CXL-Introduce-PCIe-helper-function-pcie_is_cxl/20250327-095738
base: aae0594a7053c60b82621136257c8b648c67b512
patch link: https://lore.kernel.org/r/20250327014717.2988633-6-terry.bowman%40amd.com
patch subject: [PATCH v8 05/16] PCI/AER: CXL driver dequeues CXL error forwarded from AER service driver
config: loongarch-randconfig-001-20250327 (https://download.01.org/0day-ci/archive/20250327/202503271234.IKMoGynt-lkp@xxxxxxxxx/config)
compiler: loongarch64-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250327/202503271234.IKMoGynt-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/202503271234.IKMoGynt-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

drivers/cxl/core/ras.c: In function 'cxl_handle_prot_error':
>> drivers/cxl/core/ras.c:202:33: error: 'struct pci_dev' has no member named 'aer_cap'; did you mean 'ats_cap'?
202 | int aer = pdev->aer_cap;
| ^~~~~~~
| ats_cap


vim +202 drivers/cxl/core/ras.c

185
186 static void cxl_handle_prot_error(struct pci_dev *pdev, struct cxl_prot_error_info *err_info)
187 {
188 if (!pdev || !err_info)
189 return;
190
191 /*
192 * Internal errors of an RCEC indicate an AER error in an
193 * RCH's downstream port. Check and handle them in the CXL.mem
194 * device driver.
195 */
196 if (pci_pcie_type(pdev) == PCI_EXP_TYPE_RC_EC)
197 return pcie_walk_rcec(pdev, cxl_rch_handle_error_iter, err_info);
198
199 if (err_info->severity == AER_CORRECTABLE) {
200 struct device *dev __free(put_device) = get_device(err_info->dev);
201 struct cxl_driver *pdrv;
> 202 int aer = pdev->aer_cap;
203
204 if (!dev || !dev->driver)
205 return;
206
207 if (aer) {
208 int ras_status;
209
210 pci_read_config_dword(pdev, aer + PCI_ERR_COR_STATUS, &ras_status);
211 pci_write_config_dword(pdev, aer + PCI_ERR_COR_STATUS,
212 ras_status);
213 }
214
215 pdrv = to_cxl_drv(dev->driver);
216 if (!pdrv || !pdrv->err_handler ||
217 !pdrv->err_handler->cor_error_detected)
218 return;
219
220 pdrv->err_handler->cor_error_detected(dev, err_info);
221 pcie_clear_device_status(pdev);
222 } else {
223 cxl_do_recovery(pdev);
224 }
225 }
226

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki