diff options
author | Alok Makhariya <B46187@freescale.com> | 2014-03-28 12:49:53 (GMT) |
---|---|---|
committer | Jose Rivera <German.Rivera@freescale.com> | 2014-03-31 18:57:20 (GMT) |
commit | 27b00fec49bde69b30675a32babeae37269e9acd (patch) | |
tree | 938013d7bb7ba9c4c3eedde13e22a1abbe139555 /drivers/net/ethernet/freescale/gianfar.c | |
parent | c84ef2f6f53fe3535d28c39246d1499e7aab1388 (diff) | |
download | linux-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.c | 5 |
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; |