The problem is here: if (!virHostdevHasValidGuestAddr(detach)) { qemudReportError(conn, NULL, NULL, VIR_ERR_OPERATION_FAILED, "%s", _("hostdev cannot be detached - device state missing")); return -1; } Basically, because we do not know what PCI address was assigned to the device at startup, we cannot remove it. This will be fixed with future versions of qemu and libvirt by libvirt parsing the output of a monitor command to query the PCI address. Adding to F13VirtTarget
This bug appears to have been reported against 'rawhide' during the Fedora 12 development cycle. Changing version to '12'. More information and reason for this action is here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Pretty sure this is fixed in latest libvirt. Since this is part of -device support which is hugely invasive, it will only be in rawhide/F14 unless we rebase older Fedora. Closing as RAWHIDE.