/* destroy a packet that has an RxRPC control buffer */
void rxrpc_packet_destructor(struct sk_buff *skb)
/* destroy a packet that has an RxRPC control buffer */
void rxrpc_packet_destructor(struct sk_buff *skb)
{
	struct rxrpc_skb_priv *sp = rxrpc_skb(skb);
	struct rxrpc_call *call = sp->call;
	_enter("%p{%p}", skb, call);
	if (call) {
		if (sp->hdr.type == RXRPC_PACKET_TYPE_DATA)
			rxrpc_hard_ACK_data(call, sp);
		rxrpc_put_call(call);
		sp->call = NULL;
	}
	if (skb->sk)
		sock_rfree(skb);
	_leave("");
}