Is there a particular reason why currently this is being called from arch_domain_destroy() (i.e. the asynchronous part of domain teardown) instead of from domain_relinquish_resources() (running synchronously)? While xl appears to actually make use of XEN_DOMCTL_deassign_device when shutting down a domain, xend doesn''t, thus making a successful immediate restart of a domain with assigned devices a matter of luck. Thanks, Jan