Lines Matching refs:skb
59 static void eem_linkcmd(struct usbnet *dev, struct sk_buff *skb) in eem_linkcmd() argument
69 skb->data, skb->len, eem_linkcmd_complete, skb); in eem_linkcmd()
75 dev_kfree_skb(skb); in eem_linkcmd()
104 static struct sk_buff *eem_tx_fixup(struct usbnet *dev, struct sk_buff *skb, in eem_tx_fixup() argument
108 u16 len = skb->len; in eem_tx_fixup()
121 if (!skb_cloned(skb)) { in eem_tx_fixup()
122 int headroom = skb_headroom(skb); in eem_tx_fixup()
123 int tailroom = skb_tailroom(skb); in eem_tx_fixup()
131 skb->data = memmove(skb->head + in eem_tx_fixup()
133 skb->data, in eem_tx_fixup()
134 skb->len); in eem_tx_fixup()
135 skb_set_tail_pointer(skb, len); in eem_tx_fixup()
140 skb2 = skb_copy_expand(skb, EEM_HEAD, ETH_FCS_LEN + padlen, flags); in eem_tx_fixup()
144 dev_kfree_skb_any(skb); in eem_tx_fixup()
145 skb = skb2; in eem_tx_fixup()
149 crc = crc32_le(~0, skb->data, skb->len); in eem_tx_fixup()
152 put_unaligned_le32(crc, skb_put(skb, 4)); in eem_tx_fixup()
159 len = skb->len; in eem_tx_fixup()
160 put_unaligned_le16(BIT(14) | len, skb_push(skb, 2)); in eem_tx_fixup()
164 put_unaligned_le16(0, skb_put(skb, 2)); in eem_tx_fixup()
166 return skb; in eem_tx_fixup()
169 static int eem_rx_fixup(struct usbnet *dev, struct sk_buff *skb) in eem_rx_fixup() argument
188 if (skb->len < EEM_HEAD) in eem_rx_fixup()
196 header = get_unaligned_le16(skb->data); in eem_rx_fixup()
197 skb_pull(skb, EEM_HEAD); in eem_rx_fixup()
229 if (skb->len < len) in eem_rx_fixup()
232 skb2 = skb_clone(skb, GFP_ATOMIC); in eem_rx_fixup()
287 if (skb->len < len) in eem_rx_fixup()
301 is_last = (len == skb->len); in eem_rx_fixup()
303 skb2 = skb; in eem_rx_fixup()
305 skb2 = skb_clone(skb, GFP_ATOMIC); in eem_rx_fixup()
339 skb_pull(skb, len); in eem_rx_fixup()
340 } while (skb->len); in eem_rx_fixup()