summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/freescale/gianfar.c
diff options
context:
space:
mode:
authorAlok Makhariya <B46187@freescale.com>2014-03-28 12:49:53 (GMT)
committerJose Rivera <German.Rivera@freescale.com>2014-03-31 18:57:20 (GMT)
commit27b00fec49bde69b30675a32babeae37269e9acd (patch)
tree938013d7bb7ba9c4c3eedde13e22a1abbe139555 /drivers/net/ethernet/freescale/gianfar.c
parentc84ef2f6f53fe3535d28c39246d1499e7aab1388 (diff)
downloadlinux-fsl-qoriq-27b00fec49bde69b30675a32babeae37269e9acd.tar.xz
gianfar: Allocate extra headroom while allocating skb in gianfar
ASF requires some extra headrom for IPSec processing. During IPSec processing packet size increases adding the Outer IP header, ESP header, ICV and Padding to the packet. In case the headroom/tailroom is not present copy of packet is made. Reserved that required extra headroom while allocating the buffer in gianfar, so that packet copy is avoided CQ ID : ENGR00304852 Change-Id: I2580bf20fb2acd5a9ced4166375ca22f56f764fe Signed-off-by: Alok Makhariya <B46187@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/10356 Reviewed-by: Rajan Gupta <rajan.gupta@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Diffstat (limited to 'drivers/net/ethernet/freescale/gianfar.c')
-rw-r--r--drivers/net/ethernet/freescale/gianfar.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ethernet/freescale/gianfar.c b/drivers/net/ethernet/freescale/gianfar.c
index 17aca73..471c3ce 100644
--- a/drivers/net/ethernet/freescale/gianfar.c
+++ b/drivers/net/ethernet/freescale/gianfar.c
@@ -2589,7 +2589,12 @@ static struct sk_buff *gfar_alloc_skb(struct net_device *dev)
struct gfar_private *priv = netdev_priv(dev);
struct sk_buff *skb;
+#ifndef CONFIG_AS_FASTPATH
skb = netdev_alloc_skb(dev, priv->rx_buffer_size + RXBUF_ALIGNMENT);
+#else
+ skb = netdev_alloc_skb(dev, priv->rx_buffer_size + RXBUF_ALIGNMENT +
+ EXTRA_HEADROOM);
+#endif
if (!skb)
return NULL;