diff options
Diffstat (limited to 'sys/netatalk/ddp_pcb.c')
| -rw-r--r-- | sys/netatalk/ddp_pcb.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/netatalk/ddp_pcb.c b/sys/netatalk/ddp_pcb.c index 23ccd8c1de2c..3c8ac96cb572 100644 --- a/sys/netatalk/ddp_pcb.c +++ b/sys/netatalk/ddp_pcb.c @@ -302,12 +302,11 @@ at_pcbdetach(struct socket *so, struct ddpcb *ddp) */ DDP_LIST_XLOCK_ASSERT(); DDP_LOCK_ASSERT(ddp); + KASSERT(so->so_pcb != NULL, ("at_pcbdetach: so_pcb == NULL")); + /* XXXRW: Why bother to disconnect it now? */ soisdisconnected(so); - ACCEPT_LOCK(); - SOCK_LOCK(so); so->so_pcb = NULL; - sotryfree(so); /* remove ddp from ddp_ports list */ if (ddp->ddp_lsat.sat_port != ATADDR_ANYPORT && |
