diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2012-07-12 17:55:40 +0200 |
|---|---|---|
| committer | Arnd Bergmann <arnd@arndb.de> | 2012-07-12 17:55:40 +0200 |
| commit | 9c63cd5a955ce8a3de1776a9e4b6b89c69b2a09e (patch) | |
| tree | 2b628ebdaeb63603d90c92e78bc5dd668856b61d /net/core/netpoll.c | |
| parent | 8c203360a751ecbf876a8324e02c1dcbcc5dd548 (diff) | |
| parent | 34ae0dadb4e99e8177f9785e069e9cca636ef8c1 (diff) | |
| download | olio-linux-3.10-9c63cd5a955ce8a3de1776a9e4b6b89c69b2a09e.tar.xz olio-linux-3.10-9c63cd5a955ce8a3de1776a9e4b6b89c69b2a09e.zip | |
Merge tag 'imx-defconfig' of git://git.pengutronix.de/git/imx/linux-2.6 into next/defconfig
From Sascha Hauer <s.hauer@pengutronix.de>:
ARM i.MX defconfig updates for v3.6
* tag 'imx-defconfig' of git://git.pengutronix.de/git/imx/linux-2.6:
ARM: imx_v4_v5_defconfig: update features
ARM: imx_v6_v7_defconfig: update features
Includes an update to v3.5-rc5
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'net/core/netpoll.c')
| -rw-r--r-- | net/core/netpoll.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/net/core/netpoll.c b/net/core/netpoll.c index 3d84fb9d887..f9f40b932e4 100644 --- a/net/core/netpoll.c +++ b/net/core/netpoll.c @@ -362,22 +362,23 @@ EXPORT_SYMBOL(netpoll_send_skb_on_dev); void netpoll_send_udp(struct netpoll *np, const char *msg, int len) { - int total_len, eth_len, ip_len, udp_len; + int total_len, ip_len, udp_len; struct sk_buff *skb; struct udphdr *udph; struct iphdr *iph; struct ethhdr *eth; udp_len = len + sizeof(*udph); - ip_len = eth_len = udp_len + sizeof(*iph); - total_len = eth_len + ETH_HLEN + NET_IP_ALIGN; + ip_len = udp_len + sizeof(*iph); + total_len = ip_len + LL_RESERVED_SPACE(np->dev); - skb = find_skb(np, total_len, total_len - len); + skb = find_skb(np, total_len + np->dev->needed_tailroom, + total_len - len); if (!skb) return; skb_copy_to_linear_data(skb, msg, len); - skb->len += len; + skb_put(skb, len); skb_push(skb, sizeof(*udph)); skb_reset_transport_header(skb); |