pep-gprs.c (6548698f929814375fa5d62ae1db96959b0418c1) pep-gprs.c (fc6a110754476362f9f4fa3199a637f2331c5993)
1/*
2 * File: pep-gprs.c
3 *
4 * GPRS over Phonet pipe end point socket
5 *
6 * Copyright (C) 2008 Nokia Corporation.
7 *
8 * Author: Rémi Denis-Courmont <remi.denis-courmont@nokia.com>

--- 82 unchanged lines hidden (view full) ---

91 int err = 0;
92 __be16 protocol = gprs_type_trans(skb);
93
94 if (!protocol) {
95 err = -EINVAL;
96 goto drop;
97 }
98
1/*
2 * File: pep-gprs.c
3 *
4 * GPRS over Phonet pipe end point socket
5 *
6 * Copyright (C) 2008 Nokia Corporation.
7 *
8 * Author: Rémi Denis-Courmont <remi.denis-courmont@nokia.com>

--- 82 unchanged lines hidden (view full) ---

91 int err = 0;
92 __be16 protocol = gprs_type_trans(skb);
93
94 if (!protocol) {
95 err = -EINVAL;
96 goto drop;
97 }
98
99 if (likely(skb_headroom(skb) & 3)) {
99 if (skb_headroom(skb) & 3) {
100 struct sk_buff *rskb, *fs;
101 int flen = 0;
102
100 struct sk_buff *rskb, *fs;
101 int flen = 0;
102
103 /* Phonet Pipe data header is misaligned (3 bytes),
103 /* Phonet Pipe data header may be misaligned (3 bytes),
104 * so wrap the IP packet as a single fragment of an head-less
105 * socket buffer. The network stack will pull what it needs,
106 * but at least, the whole IP payload is not memcpy'd. */
107 rskb = netdev_alloc_skb(dev, 0);
108 if (!rskb) {
109 err = -ENOBUFS;
110 goto drop;
111 }

--- 217 unchanged lines hidden ---
104 * so wrap the IP packet as a single fragment of an head-less
105 * socket buffer. The network stack will pull what it needs,
106 * but at least, the whole IP payload is not memcpy'd. */
107 rskb = netdev_alloc_skb(dev, 0);
108 if (!rskb) {
109 err = -ENOBUFS;
110 goto drop;
111 }

--- 217 unchanged lines hidden ---