aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ena
diff options
context:
space:
mode:
authorMarcin Wojtas <mw@FreeBSD.org>2019-05-30 13:22:53 +0000
committerMarcin Wojtas <mw@FreeBSD.org>2019-05-30 13:22:53 +0000
commit9151c55d024f5e59344d0bb951299a2e7e47b083 (patch)
tree4d1361a9e5b21de9ea42e0f2be6206f86b6954f7 /sys/dev/ena
parent2b5b60fe0db0f526fd3ff926593df6fc550174a7 (diff)
Notes
Diffstat (limited to 'sys/dev/ena')
-rw-r--r--sys/dev/ena/ena.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c
index d03db819f8eeb..2f00469480d6b 100644
--- a/sys/dev/ena/ena.c
+++ b/sys/dev/ena/ena.c
@@ -3893,6 +3893,8 @@ ena_detach(device_t pdev)
return (EBUSY);
}
+ ether_ifdetach(adapter->ifp);
+
/* Free reset task and callout */
callout_drain(&adapter->timer_service);
while (taskqueue_cancel(adapter->reset_tq, &adapter->reset_task, NULL))
@@ -3903,11 +3905,6 @@ ena_detach(device_t pdev)
ena_down(adapter);
sx_unlock(&adapter->ioctl_sx);
- if (adapter->ifp != NULL) {
- ether_ifdetach(adapter->ifp);
- if_free(adapter->ifp);
- }
-
ena_free_all_io_rings_resources(adapter);
ena_free_counters((counter_u64_t *)&adapter->hw_stats,
@@ -3949,6 +3946,8 @@ ena_detach(device_t pdev)
mtx_destroy(&adapter->global_mtx);
sx_destroy(&adapter->ioctl_sx);
+ if_free(adapter->ifp);
+
if (ena_dev->bus != NULL)
free(ena_dev->bus, M_DEVBUF);