summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c
diff options
context:
space:
mode:
authorBogdan Hamciuc <bogdan.hamciuc@freescale.com>2013-01-07 22:36:02 (GMT)
committerFleming Andrew-AFLEMING <AFLEMING@freescale.com>2013-04-08 23:10:16 (GMT)
commit676645ac7658c2445cf1f4d9541602c4e0af10e4 (patch)
treef24dceb68a2785bbd58faa3d8b9396f8fc3361f3 /drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c
parent8050a6a82c5143463fd320e84325fa3b4fcd9880 (diff)
downloadlinux-fsl-qoriq-676645ac7658c2445cf1f4d9541602c4e0af10e4.tar.xz
dpaa_eth: MTU checking is not required for IP reassembled frames
The IP reassembled packets are not to be limited to MTU size. Change-Id: I8c17af7e1396de3e4faf5716c97b24fb418693dd Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> (cherry picked from commit eba22bc0fe347e15d7a1b49952f695adcbb4d4c8) Reviewed-on: http://git.am.freescale.net:8181/1036 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Diffstat (limited to 'drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c')
-rw-r--r--drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c b/drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c
index d93e358..f636d6b 100644
--- a/drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c
+++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c
@@ -510,7 +510,9 @@ void __hot _dpa_rx(struct net_device *net_dev,
skb->protocol = eth_type_trans(skb, net_dev);
- if (unlikely(dpa_check_rx_mtu(skb, net_dev->mtu))) {
+ /* IP Reassembled frames are allowed to be larger than MTU */
+ if (unlikely(dpa_check_rx_mtu(skb, net_dev->mtu) &&
+ !(fd_status & FM_FD_IPR))) {
percpu_priv->stats.rx_dropped++;
goto drop_bad_frame;
}