/* Allocate a frame intended to be sent via fcoe_xmit. Get an sk_buff for the frame and set the length.  */
struct fc_frame* _fc_frame_alloc(size_t len)
/* Allocate a frame intended to be sent via fcoe_xmit. Get an sk_buff for the frame and set the length.  */
struct fc_frame* _fc_frame_alloc(size_t len)
{
	struct fc_frame *fp;
	struct sk_buff *skb;
	WARN_ON((len % sizeof(u32)) != 0);
	len += sizeof(struct fc_frame_header);
	skb = alloc_skb_fclone(len + FC_FRAME_HEADROOM + FC_FRAME_TAILROOM +
			       NET_SKB_PAD, GFP_ATOMIC);
	if (!skb)
		return NULL;
	skb_reserve(skb, NET_SKB_PAD + FC_FRAME_HEADROOM);
	fp = (struct fc_frame *) skb;
	fc_frame_init(fp);
	skb_put(skb, len);
	return fp;
}