/* Note on skb management : After calling the lower layers of the IrDA stack, we always kfree() the skb, which drop the reference count (and potentially destroy it). IrLMP and IrLAP may queue the packet, and in those cases will need to use skb_get() to keep it around. Jean II  */
int irlmp_data_request(struct lsap_cb *self, struct sk_buff *userdata)
/* Note on skb management : After calling the lower layers of the IrDA stack, we always kfree() the skb, which drop the reference count (and potentially destroy it). IrLMP and IrLAP may queue the packet, and in those cases will need to use skb_get() to keep it around. Jean II  */
int irlmp_data_request(struct lsap_cb *self, struct sk_buff *userdata)
{
	int	ret;
	IRDA_ASSERT(self != NULL, return -1;);
	IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
	IRDA_ASSERT(skb_headroom(userdata) >= LMP_HEADER, return -1;);
	skb_push(userdata, LMP_HEADER);
	ret = irlmp_do_lsap_event(self, LM_DATA_REQUEST, userdata);
	dev_kfree_skb(userdata);
	return ret;
}