summaryrefslogtreecommitdiffstats
path: root/sys/net/if_tun.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/net/if_tun.c')
-rw-r--r--sys/net/if_tun.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/net/if_tun.c b/sys/net/if_tun.c
index 0194995..68cef88 100644
--- a/sys/net/if_tun.c
+++ b/sys/net/if_tun.c
@@ -307,8 +307,7 @@ tunclose(dev_t dev, int foo, int bar, struct proc *p)
tp = dev->si_drv1;
ifp = &tp->tun_if;
- err = rman_release_resource(tp->r_unit);
- KASSERT(err == 0, ("Unit %d not marked open", ifp->if_unit));
+ KASSERT(tp->r_unit, ("Unit %d not marked open", ifp->if_unit));
tp->tun_flags &= ~TUN_OPEN;
tp->tun_pid = 0;
@@ -340,6 +339,9 @@ tunclose(dev_t dev, int foo, int bar, struct proc *p)
selwakeup(&tp->tun_rsel);
TUNDEBUG ("%s%d: closed\n", ifp->if_name, ifp->if_unit);
+ err = rman_release_resource(tp->r_unit);
+ KASSERT(err == 0, ("Unit %d failed to release", ifp->if_unit));
+
return (0);
}
OpenPOWER on IntegriCloud