summaryrefslogtreecommitdiff
path: root/sys/netatalk/ddp_pcb.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netatalk/ddp_pcb.c')
-rw-r--r--sys/netatalk/ddp_pcb.c5
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 &&