|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH V7 02/11] vpci: add hooks for PCI device assign/de-assign
On 27.07.22 17:35, Jan Beulich wrote: Hello Jan On 27.07.2022 16:01, Oleksandr wrote:On 27.07.22 13:03, Jan Beulich wrote:On 19.07.2022 19:42, Oleksandr Tyshchenko wrote: Thank you for the clarification.Hmm, so before this patch the assigning of phantom functions was the last action before the "done:" label. So I will probably need to check for "rc" before calling vpci_assign_device(). Something like that: [snip]@@ -1602,6 +1606,17 @@ static int assign_device(struct domain *d, u16 seg, u8 bus, u8 devfn, u32 flag)
rc = iommu_call(hd->platform_ops, assign_device, d, devfn,
pci_to_dev(pdev), flag);
}
+ if ( rc )
+ goto done;
+
+ devfn = pdev->devfn;
+ rc = vpci_assign_device(pdev);
+ if ( rc && deassign_device(d, seg, bus, devfn) )
+ {
+ printk(XENLOG_ERR "%pd: %pp was left partially assigned\n",
+ d, &PCI_SBDF(seg, bus, devfn));
+ domain_crash(d);
+ }
done:
if ( rc )
[snip]
Jan -- Regards, Oleksandr Tyshchenko
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |