Hi Cao, Upon re-reading your comment, I believe you are still thinking that it was right to use the error object in this context. The fact that this device has no pin interrupt is _not_ an error condition, and hence the use of error_setg() is not appropriate, and in fact causes Xen HVM PCI passthrough to fail, when it would otherwise succeed.
This patch does not attempt to address any shortcomings with XEN_PT_LOG, since it is still in use in many other places in this source file. hth, Bruce >>> Cao jin <caoj.f...@cn.fujitsu.com> 7/27/2016 9:10 PM >>> hello bruce, AFAIK, the message in error object will be printed to stderr or current monitor according whether we have a monitor. I just checked XEN_PT_LOG, message is only printed to stderr. If Xen pt device can be hotplugged via monitor command device_add, I guess using error object is right. Yours Sincerely, Cao jin On 07/27/2016 11:30 PM, Bruce Rogers wrote: > Commit 5a11d0f7 mistakenly converted a log message into an error > condition when no pin interrupt is found for the pci device being > passed through. Revert that part of the commit. > > Signed-off-by: Bruce Rogers <brog...@suse.com> > --- > hw/xen/xen_pt.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c > index f593b04..b6d71bb 100644 > --- a/hw/xen/xen_pt.c > +++ b/hw/xen/xen_pt.c > @@ -842,7 +842,7 @@ static void xen_pt_realize(PCIDevice *d, Error **errp) > goto err_out; > } > if (!scratch) { > - error_setg(errp, "no pin interrupt"); > + XEN_PT_LOG(d, "no pin interrupt\n"); > goto out; > } > >