[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 4/4] Xen PCI passthru: convert to realize()
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH v3 4/4] Xen PCI passthru: convert to realize() |
Date: |
Wed, 6 Jan 2016 09:07:50 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 |
On 01/05/2016 07:39 PM, Cao jin wrote:
> Signed-off-by: Cao jin <address@hidden>
> Reviewed-by: Stefano Stabellini <address@hidden>
> ---
> hw/xen/xen_pt.c | 53 ++++++++++++++++++++++++++++-------------------------
> 1 file changed, 28 insertions(+), 25 deletions(-)
>
> @@ -801,19 +801,19 @@ static int xen_pt_initfn(PCIDevice *d)
> if ((s->real_device.domain == 0) && (s->real_device.bus == 0) &&
> (s->real_device.dev == 2) && (s->real_device.func == 0)) {
> if (!is_igd_vga_passthrough(&s->real_device)) {
> - XEN_PT_ERR(d, "Need to enable igd-passthru if you're trying"
> - " to passthrough IGD GFX.\n");
> + error_setg(errp, "Need to enable igd-passthru if you're trying"
> + " to passthrough IGD GFX.");
No trailing '.' in error_setg() messages.
> @@ -827,27 +827,26 @@ static int xen_pt_initfn(PCIDevice *d)
> xen_pt_config_init(s, &local_err);
> if (local_err) {
> error_append_hint(&local_err, "PCI Config space initialisation
> failed");
> - rc = -1;
> + error_propagate(errp, local_err);
> goto err_out;
> }
Looks like this fixes a memory leak in an earlier patch; maybe you need
to shuffle hunks around?
>
> /* Bind interrupt */
> rc = xen_host_pci_get_byte(&s->real_device, PCI_INTERRUPT_PIN, &scratch);
> if (rc) {
> - XEN_PT_ERR(d, "Failed to read PCI_INTERRUPT_PIN! (rc:%d)\n", rc);
> + error_setg_errno(errp, errno, "Failed to read PCI_INTERRUPT_PIN!");
No trailing '!'
> @@ -891,14 +890,14 @@ out:
>
> rc = xen_host_pci_get_word(&s->real_device, PCI_COMMAND, &val);
> if (rc) {
> - XEN_PT_ERR(d, "Failed to read PCI_COMMAND! (rc: %d)\n", rc);
> + error_setg_errno(errp, errno, "Failed to read PCI_COMMAND!");
and again
> @@ -911,12 +910,16 @@ out:
> "Real physical device %02x:%02x.%d registered
> successfully!\n",
> s->hostaddr.bus, s->hostaddr.slot, s->hostaddr.function);
>
> - return 0;
> + return;
>
> err_out:
> + for (i = 0; i < PCI_ROM_SLOT; i++) {
> + object_unparent(OBJECT(&s->bar[i]));
> + }
> + object_unparent(OBJECT(&s->rom));
> +
> xen_pt_destroy(d);
> assert(rc);
> - return rc;
Is the assertion still needed?
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
[Qemu-devel] [PATCH v3 4/4] Xen PCI passthru: convert to realize(), Cao jin, 2016/01/05
- Re: [Qemu-devel] [PATCH v3 4/4] Xen PCI passthru: convert to realize(),
Eric Blake <=
[Qemu-devel] [PATCH v3 1/4] Add Error **errp for xen_host_pci_device_get(), Cao jin, 2016/01/05
Re: [Qemu-devel] [PATCH v3 0/4] Convert to realize(), Stefano Stabellini, 2016/01/06