virDomainNetRemoveHostdev(virDomainDefPtr def,
virDomainNetDefPtr net)
{
- if (net->type == VIR_DOMAIN_NET_TYPE_HOSTDEV) {
- /* hostdev net devices are normally also be in the hostdevs
- * array, but might have already been removed by the time we
- * get here.
- */
- virDomainHostdevDefPtr hostdev = &net->data.hostdev.def;
- size_t i;
+ /* hostdev net devices are normally also be in the hostdevs
+ * array, but might have already been removed by the time we
+ * get here.
+ */
+ virDomainHostdevDefPtr hostdev = virDomainNetGetActualHostdev(net);
+ size_t i;
+ if (hostdev) {
for (i = 0; i < def->nhostdevs; i++) {
if (def->hostdevs[i] == hostdev) {
virDomainHostdevRemove(def, i);