Lines Matching refs:skb

110 static int vl600_rx_fixup(struct usbnet *dev, struct sk_buff *skb)  in vl600_rx_fixup()  argument
116 struct sk_buff *buf = skb; in vl600_rx_fixup()
130 if (skb->len + s->current_rx_buf->len > in vl600_rx_fixup()
138 memcpy(skb_put(buf, skb->len), skb->data, skb->len); in vl600_rx_fixup()
139 } else if (skb->len < 4) { in vl600_rx_fixup()
158 s->current_rx_buf = skb_copy_expand(skb, 0, in vl600_rx_fixup()
193 ethhdr = (struct ethhdr *) skb->data; in vl600_rx_fixup()
249 struct sk_buff *skb, gfp_t flags) in vl600_tx_fixup() argument
255 int orig_len = skb->len - sizeof(struct ethhdr); in vl600_tx_fixup()
256 int full_len = (skb->len + sizeof(struct vl600_frame_hdr) + 3) & ~3; in vl600_tx_fixup()
258 frame = (struct vl600_frame_hdr *) skb->data; in vl600_tx_fixup()
259 if (skb->len > sizeof(*frame) && skb->len == le32_to_cpup(&frame->len)) in vl600_tx_fixup()
260 return skb; /* Already encapsulated? */ in vl600_tx_fixup()
262 if (skb->len < sizeof(struct ethhdr)) in vl600_tx_fixup()
266 if (!skb_cloned(skb)) { in vl600_tx_fixup()
267 int headroom = skb_headroom(skb); in vl600_tx_fixup()
268 int tailroom = skb_tailroom(skb); in vl600_tx_fixup()
270 if (tailroom >= full_len - skb->len - sizeof(*frame) && in vl600_tx_fixup()
275 if (headroom + tailroom + skb->len >= full_len) { in vl600_tx_fixup()
277 skb->data = memmove(skb->head + sizeof(*frame), in vl600_tx_fixup()
278 skb->data, skb->len); in vl600_tx_fixup()
279 skb_set_tail_pointer(skb, skb->len); in vl600_tx_fixup()
285 ret = skb_copy_expand(skb, sizeof(struct vl600_frame_hdr), full_len - in vl600_tx_fixup()
286 skb->len - sizeof(struct vl600_frame_hdr), flags); in vl600_tx_fixup()
287 dev_kfree_skb_any(skb); in vl600_tx_fixup()
290 skb = ret; in vl600_tx_fixup()
298 packet = (struct vl600_pkt_hdr *) skb->data; in vl600_tx_fixup()
307 frame = (struct vl600_frame_hdr *) skb_push(skb, sizeof(*frame)); in vl600_tx_fixup()
313 if (skb->len < full_len) /* Pad */ in vl600_tx_fixup()
314 skb_put(skb, full_len - skb->len); in vl600_tx_fixup()
316 return skb; in vl600_tx_fixup()