Changeset View
Changeset View
Standalone View
Standalone View
head/sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c
Show First 20 Lines • Show All 304 Lines • ▼ Show 20 Lines | sdp_closed(struct sdp_sock *ssk) | ||||
ssk->flags |= SDP_DROPPED; | ssk->flags |= SDP_DROPPED; | ||||
so = ssk->socket; | so = ssk->socket; | ||||
soisdisconnected(so); | soisdisconnected(so); | ||||
if (ssk->flags & SDP_SOCKREF) { | if (ssk->flags & SDP_SOCKREF) { | ||||
KASSERT(so->so_state & SS_PROTOREF, | KASSERT(so->so_state & SS_PROTOREF, | ||||
("sdp_closed: !SS_PROTOREF")); | ("sdp_closed: !SS_PROTOREF")); | ||||
ssk->flags &= ~SDP_SOCKREF; | ssk->flags &= ~SDP_SOCKREF; | ||||
SDP_WUNLOCK(ssk); | SDP_WUNLOCK(ssk); | ||||
ACCEPT_LOCK(); | |||||
SOCK_LOCK(so); | SOCK_LOCK(so); | ||||
so->so_state &= ~SS_PROTOREF; | so->so_state &= ~SS_PROTOREF; | ||||
sofree(so); | sofree(so); | ||||
return (NULL); | return (NULL); | ||||
} | } | ||||
return (ssk); | return (ssk); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 1,652 Lines • Show Last 20 Lines |