diff options
-rw-r--r-- | sys/dev/xen/netfront/netfront.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/dev/xen/netfront/netfront.c b/sys/dev/xen/netfront/netfront.c index 6548c04..6e3260d 100644 --- a/sys/dev/xen/netfront/netfront.c +++ b/sys/dev/xen/netfront/netfront.c @@ -2177,8 +2177,11 @@ netif_free(struct netfront_info *info) callout_drain(&info->xn_stat_ch); netif_disconnect_backend(info); ifmedia_removeall(&info->sc_media); - ether_ifdetach(info->xn_ifp); - if_free(info->xn_ifp); + if (info->xn_ifp != NULL) { + ether_ifdetach(info->xn_ifp); + if_free(info->xn_ifp); + info->xn_ifp = NULL; + } } static void |