On Thu, Aug 28, 2025 at 05:43:31PM -0700, Dave Jiang wrote: > On 8/26/25 6:35 PM, Terry Bowman wrote: > > +static void cxl_handle_proto_error(struct cxl_proto_err_work_data *err_info) > > +{ > > + struct pci_dev *pdev = err_info->pdev; > > + struct cxl_dev_state *cxlds = pci_get_drvdata(pdev); > > So this function is called from the workqueue thread to consume data > from the kfifo right? Do we need to take the device lock of the pdev > to ensure that a driver is bound to the device before we attempt to > retrieve the data? And do we also need to verify that the driver bound > is the cxl_pci driver (and not something like vfio_pci)? Otherwise I > think assuming the drv data is cxl_dev_state may cause crash. In v10 of this series, there used to be a cxl_pci_drv_bound() function to verify that the cxl_pci_driver is bound and not some other driver. That function was called from cxl_rch_handle_error_iter(). It seems this is gone in v11? Thanks, Lukas