From: Ian Jackson Date: Wed, 3 Jun 2009 14:38:09 +0000 (+0100) Subject: pass-through: Catch errors in do_pci_del() X-Git-Tag: xen-4.0.0-rc1~70 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=c6ef16ca6b55aba22f287caaa30ad5ed5e772e88;p=qemu-xen-4.0-testing.git pass-through: Catch errors in do_pci_del() (The strdup() is needed because the parsing of devname is destructive.) Signed-off-by: Simon Horman --- diff --git a/xen-vl-extra.c b/xen-vl-extra.c index 3d135834..7beb6ef6 100644 --- a/xen-vl-extra.c +++ b/xen-vl-extra.c @@ -103,9 +103,21 @@ struct qemu_alarm_timer; void do_pci_del(char *devname) { int pci_slot; + char *devname_cpy; + + devname_cpy = strdup(devname); + if (!devname_cpy) + return; + pci_slot = bdf_to_slot(devname); - acpi_php_del(pci_slot); + if (pci_slot < 0) + fprintf(logfile, "Device \"%s\" is not used by a hotplug device.\n", + devname_cpy); + else + acpi_php_del(pci_slot); + + free(devname_cpy); } void do_pci_add(char *devname)