Changeset View
Changeset View
Standalone View
Standalone View
sys/ofed/drivers/infiniband/ulp/sdp/sdp_tx.c
Show First 20 Lines • Show All 470 Lines • ▼ Show 20 Lines | sdp_tx_ring_destroy(struct sdp_sock *ssk) | ||||
if (ssk->tx_ring.buffer) { | if (ssk->tx_ring.buffer) { | ||||
sdp_tx_ring_purge(ssk); | sdp_tx_ring_purge(ssk); | ||||
free(ssk->tx_ring.buffer, M_SDP); | free(ssk->tx_ring.buffer, M_SDP); | ||||
ssk->tx_ring.buffer = NULL; | ssk->tx_ring.buffer = NULL; | ||||
} | } | ||||
if (ssk->tx_ring.cq) { | if (ssk->tx_ring.cq) { | ||||
if (ib_destroy_cq(ssk->tx_ring.cq)) { | ib_destroy_cq(ssk->tx_ring.cq); | ||||
sdp_warn(ssk->socket, "destroy cq(%p) failed\n", | |||||
ssk->tx_ring.cq); | |||||
} else { | |||||
ssk->tx_ring.cq = NULL; | ssk->tx_ring.cq = NULL; | ||||
} | |||||
} | } | ||||
WARN_ON(ring_head(ssk->tx_ring) != ring_tail(ssk->tx_ring)); | WARN_ON(ring_head(ssk->tx_ring) != ring_tail(ssk->tx_ring)); | ||||
} | } |