Lines Matching refs:skb
144 struct sk_buff *skb = bcs->rx_skb; in hdlc_loop() local
204 if (!skb) { in hdlc_loop()
207 } else if (skb->len < 2) { in hdlc_loop()
211 skb->len); in hdlc_loop()
213 dev_kfree_skb_any(skb); in hdlc_loop()
218 skb->len); in hdlc_loop()
220 dev_kfree_skb_any(skb); in hdlc_loop()
223 __skb_trim(skb, skb->len - 2); in hdlc_loop()
224 gigaset_skb_rcvd(bcs, skb); in hdlc_loop()
229 skb = gigaset_new_rx_skb(bcs); in hdlc_loop()
235 if (!skb) { in hdlc_loop()
238 skb = gigaset_new_rx_skb(bcs); in hdlc_loop()
260 if (skb) { in hdlc_loop()
261 if (skb->len >= bcs->rx_bufsize) { in hdlc_loop()
263 dev_kfree_skb_any(skb); in hdlc_loop()
265 bcs->rx_skb = skb = NULL; in hdlc_loop()
267 *__skb_put(skb, 1) = c; in hdlc_loop()
290 struct sk_buff *skb = bcs->rx_skb; in iraw_loop() local
295 if (!skb) { in iraw_loop()
301 while (procbytes < numbytes && skb->len < bcs->rx_bufsize) { in iraw_loop()
318 *__skb_put(skb, 1) = bitrev8(c); in iraw_loop()
323 gigaset_skb_rcvd(bcs, skb); in iraw_loop()
458 static struct sk_buff *HDLC_Encode(struct sk_buff *skb) in HDLC_Encode() argument
469 cp = skb->data; in HDLC_Encode()
470 len = skb->len; in HDLC_Encode()
482 hdlc_skb = dev_alloc_skb(skb->len + stuf_cnt + 6 + skb->mac_len); in HDLC_Encode()
484 dev_kfree_skb_any(skb); in HDLC_Encode()
490 skb_reserve(hdlc_skb, skb->mac_len); in HDLC_Encode()
491 memcpy(skb_mac_header(hdlc_skb), skb_mac_header(skb), skb->mac_len); in HDLC_Encode()
492 hdlc_skb->mac_len = skb->mac_len; in HDLC_Encode()
498 while (skb->len--) { in HDLC_Encode()
499 if (muststuff(*skb->data)) { in HDLC_Encode()
501 *(skb_put(hdlc_skb, 1)) = (*skb->data++) ^ PPP_TRANS; in HDLC_Encode()
503 *(skb_put(hdlc_skb, 1)) = *skb->data++; in HDLC_Encode()
523 dev_kfree_skb_any(skb); in HDLC_Encode()
536 static struct sk_buff *iraw_encode(struct sk_buff *skb) in iraw_encode() argument
546 iraw_skb = dev_alloc_skb(2 * skb->len + skb->mac_len); in iraw_encode()
548 dev_kfree_skb_any(skb); in iraw_encode()
554 skb_reserve(iraw_skb, skb->mac_len); in iraw_encode()
555 memcpy(skb_mac_header(iraw_skb), skb_mac_header(skb), skb->mac_len); in iraw_encode()
556 iraw_skb->mac_len = skb->mac_len; in iraw_encode()
559 cp = skb->data; in iraw_encode()
560 len = skb->len; in iraw_encode()
567 dev_kfree_skb_any(skb); in iraw_encode()
585 int gigaset_m10x_send_skb(struct bc_state *bcs, struct sk_buff *skb) in gigaset_m10x_send_skb() argument
588 unsigned len = skb->len; in gigaset_m10x_send_skb()
592 skb = HDLC_Encode(skb); in gigaset_m10x_send_skb()
594 skb = iraw_encode(skb); in gigaset_m10x_send_skb()
595 if (!skb) { in gigaset_m10x_send_skb()
601 skb_queue_tail(&bcs->squeue, skb); in gigaset_m10x_send_skb()