On 20.07.2023 02:32, Volodymyr Babchuk wrote: > --- a/xen/drivers/vpci/msi.c > +++ b/xen/drivers/vpci/msi.c > @@ -190,6 +190,8 @@ static int cf_check init_msi(struct pci_dev *pdev) > uint16_t control; > int ret; > > + ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
I'm afraid I have to ask the opposite question, compared to Roger's: Why do you need the lock held for write here (and in init_msix())? Neither list of devices nor the pdev->vpci pointer are being altered. Jan
